code cleanup for change password stuff

This commit is contained in:
Daniel Gultsch 2014-12-25 22:28:19 +01:00
parent 0c22a8d1c6
commit 193d2645e6
3 changed files with 23 additions and 16 deletions

View file

@ -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 &&
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);
}
toggleChangePasswordCheckbox();
}
};
private void toggleChangePasswordCheckbox() {
final boolean registrationReady = mAccount != null &&
mAccount.isOnlineAndConnected() &&
mAccount.getXmppConnection().getFeatures().register();
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()));

View file

@ -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" />

View file

@ -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>