Change summary
src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java | 33 +
1 file changed, 29 insertions(+), 4 deletions(-)
Detailed changes
@@ -153,6 +153,7 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
final boolean registerNewAccount = mRegisterNew.isChecked() && !Config.DISALLOW_REGISTRATION_IN_UI;
if (mUsernameMode && mAccountJid.getText().toString().contains("@")) {
mAccountJidLayout.setError(getString(R.string.invalid_username));
+ removeErrorsOnAllBut(mAccountJidLayout);
mAccountJid.requestFocus();
return;
}
@@ -186,6 +187,7 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
mAccountJidLayout.setError(getString(R.string.invalid_jid));
}
mAccountJid.requestFocus();
+ removeErrorsOnAllBut(mAccountJidLayout);
return;
}
String hostname = null;
@@ -196,18 +198,21 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
if (hostname.contains(" ")) {
mHostnameLayout.setError(getString(R.string.not_valid_hostname));
mHostname.requestFocus();
+ removeErrorsOnAllBut(mHostnameLayout);
return;
}
try {
numericPort = Integer.parseInt(port);
if (numericPort < 0 || numericPort > 65535) {
mPortLayout.setError(getString(R.string.not_a_valid_port));
+ removeErrorsOnAllBut(mPortLayout);
mPort.requestFocus();
return;
}
} catch (NumberFormatException e) {
mPortLayout.setError(getString(R.string.not_a_valid_port));
+ removeErrorsOnAllBut(mPortLayout);
mPort.requestFocus();
return;
}
@@ -219,6 +224,7 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
} else {
mAccountJidLayout.setError(getString(R.string.invalid_jid));
}
+ removeErrorsOnAllBut(mAccountJidLayout);
mAccountJid.requestFocus();
return;
}
@@ -239,6 +245,7 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
} else {
if (xmppConnectionService.findAccountByJid(jid) != null) {
mAccountJidLayout.setError(getString(R.string.account_already_exists));
+ removeErrorsOnAllBut(mAccountJidLayout);
mAccountJid.requestFocus();
return;
}
@@ -1061,8 +1068,8 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
keysCard.setVisibility(View.GONE);
}
} else {
+ final TextInputLayout errorLayout;
if (this.mAccount.errorStatus()) {
- final TextInputLayout errorLayout;
if (this.mAccount.getStatus() == Account.State.UNAUTHORIZED) {
errorLayout = this.mPasswordLayout;
} else if (mShowOptions
@@ -1077,14 +1084,32 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
errorLayout.requestFocus();
}
} else {
- this.mAccountJidLayout.setError(null);
- this.mPasswordLayout.setError(null);
- this.mHostnameLayout.setError(null);
+ errorLayout = null;
}
+ removeErrorsOnAllBut(errorLayout);
this.mStats.setVisibility(View.GONE);
}
}
+ private void removeErrorsOnAllBut(TextInputLayout exception) {
+ if (this.mAccountJidLayout != exception){
+ this.mAccountJidLayout.setErrorEnabled(false);
+ this.mAccountJidLayout.setError(null);
+ }
+ if (this.mPasswordLayout != exception) {
+ this.mPasswordLayout.setErrorEnabled(false);
+ this.mPasswordLayout.setError(null);
+ }
+ if (this.mHostnameLayout != exception) {
+ this.mHostnameLayout.setErrorEnabled(false);
+ this.mHostnameLayout.setError(null);
+ }
+ if (this.mPortLayout != exception) {
+ this.mPortLayout.setErrorEnabled(false);
+ this.mPortLayout.setError(null);
+ }
+ }
+
private void showDeletePgpDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.unpublish_pgp);