diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/ChangePasswordActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/login/ChangePasswordActivity.java index 88fe2dbac..46a8591a6 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/login/ChangePasswordActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/login/ChangePasswordActivity.java @@ -32,6 +32,7 @@ import static android.widget.Toast.LENGTH_LONG; import static org.briarproject.bramble.api.crypto.DecryptionResult.KEY_STRENGTHENER_ERROR; import static org.briarproject.bramble.api.crypto.DecryptionResult.SUCCESS; import static org.briarproject.bramble.api.crypto.PasswordStrengthEstimator.QUITE_WEAK; +import static org.briarproject.bramble.api.crypto.PasswordStrengthEstimator.STRONG; import static org.briarproject.briar.android.login.LoginUtils.createKeyStrengthenerErrorDialog; import static org.briarproject.briar.android.util.UiUtils.hideSoftKeyboard; import static org.briarproject.briar.android.util.UiUtils.setError; @@ -123,12 +124,25 @@ public class ChangePasswordActivity extends BriarActivity boolean passwordsMatch = firstPassword.equals(secondPassword); float strength = viewModel.estimatePasswordStrength(firstPassword); strengthMeter.setStrength(strength); + + if (!firstPassword.isEmpty()) { + if (strength >= STRONG) { + newPasswordEntryWrapper.setHelperText( + getString(R.string.password_strong)); + } else if (strength >= QUITE_WEAK) { + newPasswordEntryWrapper.setHelperText( + getString(R.string.password_quite_strong)); + } else { + newPasswordEntryWrapper.setHelperTextEnabled(false); + } + } + setError(newPasswordEntryWrapper, getString(R.string.password_too_weak), - firstPassword.length() > 0 && strength < QUITE_WEAK); + !firstPassword.isEmpty() && strength < QUITE_WEAK); setError(newPasswordConfirmationWrapper, getString(R.string.passwords_do_not_match), - secondPassword.length() > 0 && !passwordsMatch); + !secondPassword.isEmpty() && !passwordsMatch); changePasswordButton.setEnabled( !currentPassword.getText().toString().isEmpty() && passwordsMatch && strength >= QUITE_WEAK); diff --git a/briar-android/src/main/res/layout/activity_change_password.xml b/briar-android/src/main/res/layout/activity_change_password.xml index 155f1cb2c..38f3f1b76 100644 --- a/briar-android/src/main/res/layout/activity_change_password.xml +++ b/briar-android/src/main/res/layout/activity_change_password.xml @@ -4,6 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:fillViewport="true" tools:context=".android.login.ChangePasswordActivity"> + + - -