aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java33
-rw-r--r--src/main/res/layout/activity_edit_account.xml2
-rw-r--r--src/main/res/values/strings.xml2
3 files changed, 22 insertions, 15 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java
index 3bd4dd1eb..f8221f1b8 100644
--- a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java
@@ -94,8 +94,7 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate
final String passwordConfirm = mPasswordConfirm.getText().toString();
if (registerNewAccount || changePassword) {
if (!password.equals(passwordConfirm)) {
- mPasswordConfirm
- .setError(getString(R.string.passwords_do_not_match));
+ mPasswordConfirm.setError(getString(R.string.passwords_do_not_match));
mPasswordConfirm.requestFocus();
return;
}
@@ -210,18 +209,26 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate
@Override
public void afterTextChanged(final Editable s) {
- final boolean registrationReady = mAccount != null &&
+ toggleChangePasswordCheckbox();
+ }
+ };
+
+ private void toggleChangePasswordCheckbox() {
+ final boolean registrationReady = mAccount != null &&
mAccount.isOnlineAndConnected() &&
mAccount.getXmppConnection().getFeatures().register();
- if (jidToEdit != null && mAccount != null && registrationReady &&
- !mAccount.getPassword().equals(s.toString()) && !"".equals(s.toString())) {
- mChangePassword.setVisibility(View.VISIBLE);
- } else {
- mChangePassword.setVisibility(View.INVISIBLE);
- mChangePassword.setChecked(false);
- }
+ if (passwordFieldEdited() && registrationReady) {
+ mChangePassword.setVisibility(View.VISIBLE);
+ } else {
+ mChangePassword.setVisibility(View.INVISIBLE);
+ mChangePassword.setChecked(false);
}
- };
+ }
+
+ private boolean passwordFieldEdited() {
+ final String password = this.mPassword.getText().toString();
+ return jidToEdit != null && mAccount != null && !password.isEmpty() && !mAccount.getPassword().equals(password);
+ }
private final OnClickListener mAvatarClickListener = new OnClickListener() {
@Override
public void onClick(final View view) {
@@ -448,8 +455,8 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate
this.mChangePassword.setVisibility(View.GONE);
this.mChangePassword.setChecked(false);
}
- if (this.mAccount.getStatus() == Account.State.ONLINE
- && !this.mFetchingAvatar) {
+ if (this.mAccount.isOnlineAndConnected() && !this.mFetchingAvatar) {
+ toggleChangePasswordCheckbox();
this.mStats.setVisibility(View.VISIBLE);
this.mSessionEst.setText(UIHelper.readableTimeDifferenceFull(this, this.mAccount.getXmppConnection()
.getLastSessionEstablished()));
diff --git a/src/main/res/layout/activity_edit_account.xml b/src/main/res/layout/activity_edit_account.xml
index cb6267803..d29872530 100644
--- a/src/main/res/layout/activity_edit_account.xml
+++ b/src/main/res/layout/activity_edit_account.xml
@@ -84,7 +84,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
- android:text="@string/change_password"
+ android:text="@string/change_password_on_server"
android:textColor="@color/primarytext"
android:textSize="?attr/TextSizeBody" />
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 6634c96a4..f75a698b9 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -46,7 +46,7 @@
<string name="contact_blocked">Contact blocked</string>
<string name="remove_bookmark_text">Would you like to remove %s as a bookmark? The conversation associated with this bookmark will not be removed.</string>
<string name="register_account">Register new account on server</string>
- <string name="change_password">Change password</string>
+ <string name="change_password_on_server">Change password on server</string>
<string name="share_with">Share with</string>
<string name="start_conversation">Start Conversation</string>
<string name="invite_contact">Invite Contact</string>