aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-12-30 21:19:49 +0100
committerChristian Schneppe <christian@pix-art.de>2018-12-30 21:19:49 +0100
commit4e78a72af907ac32eccd87ebdbf6ec44a4336d36 (patch)
tree522e5198719f28c3f6d4d3a81376e9681a8c87a6 /src/main/java/de/pixart/messenger/ui/EditAccountActivity.java
parent15451513504c1f8692b05be9e6fbc285a43b1026 (diff)
add ability to set nickname in profile
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/ui/EditAccountActivity.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java b/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java
index 123591b03..d04289d22 100644
--- a/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java
@@ -593,6 +593,7 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
this.binding.port.addTextChangedListener(mTextWatcher);
this.binding.saveButton.setOnClickListener(this.mSaveButtonClickListener);
this.binding.cancelButton.setOnClickListener(this.mCancelButtonClickListener);
+ this.binding.actionEditYourName.setOnClickListener(this::onEditYourNameClicked);
if (savedInstanceState != null && savedInstanceState.getBoolean("showMoreTable")) {
changeMoreTableVisibility(true);
}
@@ -617,6 +618,21 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
});
}
+ private void onEditYourNameClicked(View view) {
+ quickEdit(mAccount.getDisplayName(), R.string.your_name, value -> {
+ final String displayName = value.trim();
+ updateDisplayName(displayName);
+ mAccount.setDisplayName(displayName);
+ xmppConnectionService.publishDisplayName(mAccount);
+ refreshAvatar();
+ return null;
+ }, true);
+ }
+
+ private void refreshAvatar() {
+ binding.avater.setImageBitmap(avatarService().get(mAccount, (int) getResources().getDimension(R.dimen.avatar_on_details_screen_size)));
+ }
+
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
super.onCreateOptionsMenu(menu);
@@ -1011,6 +1027,10 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
this.binding.accountJid.setEnabled(editable);
this.binding.accountJid.setFocusable(editable);
this.binding.accountJid.setFocusableInTouchMode(editable);
+ this.binding.accountJid.setCursorVisible(editable);
+
+ final String displayName = mAccount.getDisplayName();
+ updateDisplayName(displayName);
final boolean tooglePassword = mAccount.isOptionSet(Account.OPTION_MAGIC_CREATE) || !mAccount.isOptionSet(Account.OPTION_LOGGED_IN_SUCCESSFULLY);
final boolean editPassword = !mAccount.isOptionSet(Account.OPTION_MAGIC_CREATE) || (!mAccount.isOptionSet(Account.OPTION_LOGGED_IN_SUCCESSFULLY) && QuickConversationsService.isConversations()) || mAccount.getLastErrorStatus() == Account.State.UNAUTHORIZED;
@@ -1228,6 +1248,16 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
return "0";
}
+ private void updateDisplayName(String displayName) {
+ if (TextUtils.isEmpty(displayName)) {
+ this.binding.yourName.setText(R.string.no_name_set_instructions);
+ this.binding.yourName.setTextAppearance(this, R.style.TextAppearance_Conversations_Body1_Tertiary);
+ } else {
+ this.binding.yourName.setText(displayName);
+ this.binding.yourName.setTextAppearance(this, R.style.TextAppearance_Conversations_Body1);
+ }
+ }
+
private void removeErrorsOnAllBut(TextInputLayout exception) {
if (this.binding.accountJidLayout != exception) {
this.binding.accountJidLayout.setErrorEnabled(false);