diff options
Diffstat (limited to '')
4 files changed, 37 insertions, 12 deletions
diff --git a/res/layout/activity_publish_profile_picture.xml b/res/layout/activity_publish_profile_picture.xml index 9dd7a5dc..6dd1f7d3 100644 --- a/res/layout/activity_publish_profile_picture.xml +++ b/res/layout/activity_publish_profile_picture.xml @@ -69,7 +69,8 @@ android:layout_height="fill_parent" android:layout_above="@+id/button_bar" android:layout_below="@+id/hint" - android:layout_centerHorizontal="true" + android:layout_alignParentLeft="true" + android:layout_alignParentRight="true" android:gravity="center_vertical" android:orientation="vertical" android:paddingLeft="8dp" @@ -83,12 +84,14 @@ android:textSize="18sp"/> <TextView + android:id="@+id/hint_or_warning" android:layout_marginTop="8dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/publish_avatar_explanation" android:textColor="@color/primarytext" - android:textSize="14sp" /> + android:textSize="14sp" + android:minLines="3" /> </LinearLayout> </RelativeLayout>
\ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index de925254..3b57be7a 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -271,4 +271,7 @@ <string name="publish_avatar">Publish avatar</string> <string name="touch_to_choose_picture">Touch avatar to select picture from gallary</string> <string name="publish_avatar_explanation">Please note: Everyone subscribed to your presence updates will be allowed to see this picture.</string> + <string name="publishing">Publishing…</string> + <string name="error_publish_avatar_server_reject">The server rejected your publication</string> + <string name="error_publish_avatar_converting">Something went wrong while converting your picture</string> </resources> diff --git a/src/eu/siacs/conversations/services/XmppConnectionService.java b/src/eu/siacs/conversations/services/XmppConnectionService.java index c750ed53..370d8304 100644 --- a/src/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/eu/siacs/conversations/services/XmppConnectionService.java @@ -1216,17 +1216,17 @@ public class XmppConnectionService extends Service { if (result.getType() == IqPacket.TYPE_RESULT) { callback.success(avatar); } else { - callback.error(R.string.error, avatar); + callback.error(R.string.error_publish_avatar_server_reject, avatar); } } }); } else { - callback.error(R.string.error, avatar); + callback.error(R.string.error_publish_avatar_server_reject, avatar); } } }); } else { - callback.error(R.string.error, null); + callback.error(R.string.error_publish_avatar_converting, null); } } diff --git a/src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java b/src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java index a2cc84a6..353600ef 100644 --- a/src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java +++ b/src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java @@ -22,6 +22,7 @@ public class PublishProfilePictureActivity extends XmppActivity { private ImageView avatar; private TextView accountTextView; + private TextView hintOrWarning; private Button cancelButton; private Button publishButton; @@ -33,19 +34,32 @@ public class PublishProfilePictureActivity extends XmppActivity { @Override public void success(Avatar object) { - finish(); + runOnUiThread(new Runnable() { + + @Override + public void run() { + finish(); + } + }); } @Override - public void error(int errorCode, Avatar object) { - // TODO Auto-generated method stub + public void error(final int errorCode, Avatar object) { + runOnUiThread(new Runnable() { + + @Override + public void run() { + hintOrWarning.setText(errorCode); + hintOrWarning.setTextColor(getWarningTextColor()); + publishButton.setText(R.string.publish_avatar); + enablePublishButton(); + } + }); } @Override public void userInputRequried(PendingIntent pi, Avatar object) { - // TODO Auto-generated method stub - } }; @@ -57,11 +71,13 @@ public class PublishProfilePictureActivity extends XmppActivity { this.cancelButton = (Button) findViewById(R.id.cancel_button); this.publishButton = (Button) findViewById(R.id.publish_button); this.accountTextView = (TextView) findViewById(R.id.account); + this.hintOrWarning = (TextView) findViewById(R.id.hint_or_warning); this.publishButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (avatarUri != null) { + publishButton.setText(R.string.publishing); disablePublishButton(); xmppConnectionService.publishAvatar(account, avatarUri, avatarPublication); @@ -99,7 +115,7 @@ public class PublishProfilePictureActivity extends XmppActivity { } } } - + @Override public boolean onOptionsItemSelected(MenuItem menuItem) { super.onOptionsItemSelected(menuItem); @@ -133,13 +149,16 @@ public class PublishProfilePictureActivity extends XmppActivity { uri, 384); this.avatar.setImageBitmap(bm); enablePublishButton(); + this.publishButton.setText(R.string.publish_avatar); + this.hintOrWarning.setText(R.string.publish_avatar_explanation); + this.hintOrWarning.setTextColor(getPrimaryTextColor()); } protected void enablePublishButton() { this.publishButton.setEnabled(true); this.publishButton.setTextColor(getPrimaryTextColor()); } - + protected void disablePublishButton() { this.publishButton.setEnabled(false); this.publishButton.setTextColor(getSecondaryTextColor()); |