diff --git a/app/src/main/java/org/shadowice/flocke/andotp/Dialogs/PasswordEntryDialog.java b/app/src/main/java/org/shadowice/flocke/andotp/Dialogs/PasswordEntryDialog.java index 1400f17e..dd0b535a 100644 --- a/app/src/main/java/org/shadowice/flocke/andotp/Dialogs/PasswordEntryDialog.java +++ b/app/src/main/java/org/shadowice/flocke/andotp/Dialogs/PasswordEntryDialog.java @@ -15,6 +15,7 @@ import android.widget.Button; import android.widget.EditText; import org.shadowice.flocke.andotp.R; +import org.shadowice.flocke.andotp.Utilities.ConfirmedPasswordTransformationHelper; import org.shadowice.flocke.andotp.Utilities.Tools; public class PasswordEntryDialog extends AppCompatDialog @@ -42,6 +43,7 @@ public class PasswordEntryDialog extends AppCompatDialog TextInputLayout passwordLayout = findViewById(R.id.passwordInputLayout); passwordInput = findViewById(R.id.passwordInput); passwordConfirm = findViewById(R.id.passwordConfirm); + ConfirmedPasswordTransformationHelper.setup(passwordLayout, passwordInput, passwordConfirm); if (blockAccessibility) { passwordLayout.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS); diff --git a/app/src/main/java/org/shadowice/flocke/andotp/Preferences/CredentialsPreference.java b/app/src/main/java/org/shadowice/flocke/andotp/Preferences/CredentialsPreference.java index eae85ce2..f5992bed 100644 --- a/app/src/main/java/org/shadowice/flocke/andotp/Preferences/CredentialsPreference.java +++ b/app/src/main/java/org/shadowice/flocke/andotp/Preferences/CredentialsPreference.java @@ -46,6 +46,7 @@ import com.google.android.material.textfield.TextInputEditText; import com.google.android.material.textfield.TextInputLayout; import org.shadowice.flocke.andotp.R; +import org.shadowice.flocke.andotp.Utilities.ConfirmedPasswordTransformationHelper; import org.shadowice.flocke.andotp.Utilities.Constants; import org.shadowice.flocke.andotp.Utilities.Settings; import org.shadowice.flocke.andotp.Utilities.UIHelper; @@ -256,8 +257,7 @@ public class CredentialsPreference extends DialogPreference passwordLayout.setHint(getContext().getString(R.string.settings_hint_password)); passwordConfirm.setHint(R.string.settings_hint_password_confirm); - passwordInput.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); - passwordConfirm.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); + ConfirmedPasswordTransformationHelper.setup(passwordLayout, passwordInput, passwordConfirm); passwordInput.setTransformationMethod(new PasswordTransformationMethod()); passwordConfirm.setTransformationMethod(new PasswordTransformationMethod()); @@ -278,8 +278,7 @@ public class CredentialsPreference extends DialogPreference passwordInput.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD); passwordConfirm.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD); - passwordInput.setTransformationMethod(new PasswordTransformationMethod()); - passwordConfirm.setTransformationMethod(new PasswordTransformationMethod()); + ConfirmedPasswordTransformationHelper.setup(passwordLayout, passwordInput, passwordConfirm); minLength = Constants.AUTH_MIN_PIN_LENGTH; toShortWarning.setText(getContext().getString(R.string.settings_label_short_pin, minLength)); diff --git a/app/src/main/java/org/shadowice/flocke/andotp/Preferences/PasswordEncryptedPreference.java b/app/src/main/java/org/shadowice/flocke/andotp/Preferences/PasswordEncryptedPreference.java index 7302f8d3..6e089649 100644 --- a/app/src/main/java/org/shadowice/flocke/andotp/Preferences/PasswordEncryptedPreference.java +++ b/app/src/main/java/org/shadowice/flocke/andotp/Preferences/PasswordEncryptedPreference.java @@ -40,6 +40,7 @@ import android.widget.Button; import android.widget.EditText; import org.shadowice.flocke.andotp.R; +import org.shadowice.flocke.andotp.Utilities.ConfirmedPasswordTransformationHelper; import org.shadowice.flocke.andotp.Utilities.Constants; import org.shadowice.flocke.andotp.Utilities.EncryptionHelper; import org.shadowice.flocke.andotp.Utilities.KeyStoreHelper; @@ -135,8 +136,7 @@ public class PasswordEncryptedPreference extends DialogPreference passwordConfirm.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD); } - passwordInput.setTransformationMethod(new PasswordTransformationMethod()); - passwordConfirm.setTransformationMethod(new PasswordTransformationMethod()); + ConfirmedPasswordTransformationHelper.setup(passwordLayout, passwordInput, passwordConfirm); passwordConfirm.addTextChangedListener(this); passwordInput.addTextChangedListener(this); diff --git a/app/src/main/res/layout/component_authentication.xml b/app/src/main/res/layout/component_authentication.xml index 08c2f259..0f20052d 100644 --- a/app/src/main/res/layout/component_authentication.xml +++ b/app/src/main/res/layout/component_authentication.xml @@ -29,7 +29,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/settings_hint_password" - app:passwordToggleEnabled="true" > + app:endIconMode="password_toggle" > + app:endIconMode="password_toggle" > + app:endIconMode="password_toggle" >