aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--res/layout/activity_publish_profile_picture.xml7
-rw-r--r--res/values/strings.xml3
-rw-r--r--src/eu/siacs/conversations/services/XmppConnectionService.java6
-rw-r--r--src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java33
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&#8230;</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());