changed workflow on inital avatar publication

Daniel Gultsch created

Change summary

res/values/strings.xml                                           |  1 
src/eu/siacs/conversations/ui/EditAccountActivity.java           |  1 
src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java | 49 +
3 files changed, 40 insertions(+), 11 deletions(-)

Detailed changes

res/values/strings.xml 🔗

@@ -282,5 +282,6 @@
     <string name="next">Next</string>
     <string name="server_info_session_established">Current session established</string>
     <string name="additional_information">Additional Information</string>
+    <string name="skip">Skip</string>
 
 </resources>

src/eu/siacs/conversations/ui/EditAccountActivity.java 🔗

@@ -165,6 +165,7 @@ public class EditAccountActivity extends XmppActivity {
 					intent = new Intent(getApplicationContext(),
 							PublishProfilePictureActivity.class);
 					intent.putExtra("account", mAccount.getJid());
+					intent.putExtra("setup", true);
 				}
 				startActivity(intent);
 				finish();

src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java 🔗

@@ -5,7 +5,6 @@ import android.content.Intent;
 import android.graphics.Bitmap;
 import android.net.Uri;
 import android.os.Bundle;
-import android.view.MenuItem;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.view.View.OnLongClickListener;
@@ -32,9 +31,11 @@ public class PublishProfilePictureActivity extends XmppActivity {
 	private Uri defaultUri;
 
 	private Account account;
-	
+
 	private boolean support = false;
 
+	private boolean mInitialAccountSetup;
+
 	private UiCallback<Avatar> avatarPublication = new UiCallback<Avatar>() {
 
 		@Override
@@ -43,6 +44,10 @@ public class PublishProfilePictureActivity extends XmppActivity {
 
 				@Override
 				public void run() {
+					if (mInitialAccountSetup) {
+						startActivity(new Intent(getApplicationContext(),
+							StartConversationActivity.class));
+					}
 					finish();
 				}
 			});
@@ -104,6 +109,10 @@ public class PublishProfilePictureActivity extends XmppActivity {
 
 			@Override
 			public void onClick(View v) {
+				if (mInitialAccountSetup) {
+					startActivity(new Intent(getApplicationContext(),
+						StartConversationActivity.class));
+				}
 				finish();
 			}
 		});
@@ -143,21 +152,25 @@ public class PublishProfilePictureActivity extends XmppActivity {
 			if (jid != null) {
 				this.account = xmppConnectionService.findAccountByJid(jid);
 				if (this.account.getXmppConnection() != null) {
-					this.support = this.account.getXmppConnection().getFeatures().pubsub();
+					this.support = this.account.getXmppConnection()
+							.getFeatures().pubsub();
 				}
 				if (this.avatarUri == null) {
-					if (this.account.getAvatar() != null || this.defaultUri == null) {
+					if (this.account.getAvatar() != null
+							|| this.defaultUri == null) {
 						this.avatar.setImageBitmap(this.account.getImage(
 								getApplicationContext(), 384));
 						if (this.defaultUri != null) {
 							this.avatar
-								.setOnLongClickListener(this.backToDefaultListener);
+									.setOnLongClickListener(this.backToDefaultListener);
 						} else {
 							this.secondaryHint.setVisibility(View.INVISIBLE);
 						}
 						if (!support) {
-							this.hintOrWarning.setTextColor(getWarningTextColor());
-							this.hintOrWarning.setText(R.string.error_publish_avatar_no_server_support);
+							this.hintOrWarning
+									.setTextColor(getWarningTextColor());
+							this.hintOrWarning
+									.setText(R.string.error_publish_avatar_no_server_support);
 						}
 					} else {
 						this.avatarUri = this.defaultUri;
@@ -173,13 +186,26 @@ public class PublishProfilePictureActivity extends XmppActivity {
 
 	}
 
+	@Override
+	protected void onStart() {
+		super.onStart();
+		if (getIntent() != null) {
+			this.mInitialAccountSetup = getIntent().getBooleanExtra("setup",
+					false);
+		}
+		if (this.mInitialAccountSetup) {
+			this.cancelButton.setText(R.string.skip);
+		}
+	}
+
 	protected void loadImageIntoPreview(Uri uri) {
 		Bitmap bm = xmppConnectionService.getFileBackend().cropCenterSquare(
 				uri, 384);
-		if (bm==null) {
+		if (bm == null) {
 			disablePublishButton();
 			this.hintOrWarning.setTextColor(getWarningTextColor());
-			this.hintOrWarning.setText(R.string.error_publish_avatar_converting);
+			this.hintOrWarning
+					.setText(R.string.error_publish_avatar_converting);
 			return;
 		}
 		this.avatar.setImageBitmap(bm);
@@ -191,12 +217,13 @@ public class PublishProfilePictureActivity extends XmppActivity {
 		} else {
 			disablePublishButton();
 			this.hintOrWarning.setTextColor(getWarningTextColor());
-			this.hintOrWarning.setText(R.string.error_publish_avatar_no_server_support);
+			this.hintOrWarning
+					.setText(R.string.error_publish_avatar_no_server_support);
 		}
 		if (this.defaultUri != null && uri.equals(this.defaultUri)) {
 			this.secondaryHint.setVisibility(View.INVISIBLE);
 			this.avatar.setOnLongClickListener(null);
-		} else if (this.defaultUri != null ) {
+		} else if (this.defaultUri != null) {
 			this.secondaryHint.setVisibility(View.VISIBLE);
 			this.avatar.setOnLongClickListener(this.backToDefaultListener);
 		}