diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/AuthActivity.java b/app/src/main/java/com/beemdevelopment/aegis/ui/AuthActivity.java
index 57746cb1..a30c552c 100644
--- a/app/src/main/java/com/beemdevelopment/aegis/ui/AuthActivity.java
+++ b/app/src/main/java/com/beemdevelopment/aegis/ui/AuthActivity.java
@@ -42,6 +42,7 @@ import com.beemdevelopment.aegis.vault.slots.SlotException;
import com.beemdevelopment.aegis.vault.slots.SlotIntegrityException;
import com.beemdevelopment.aegis.vault.slots.SlotList;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+import com.google.android.material.textfield.TextInputLayout;
import java.util.List;
@@ -72,7 +73,22 @@ public class AuthActivity extends AegisActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_auth);
- _textPassword = findViewById(R.id.text_password);
+
+ TextInputLayout layoutStandard = findViewById(R.id.layout_standard);
+ TextInputLayout layoutNoAutofill = findViewById(R.id.layout_no_autofill);
+ EditText editStandard = findViewById(R.id.text_password);
+ EditText editNoAutofill = findViewById(R.id.text_password_no_autofill);
+
+ if (_prefs.isPinKeyboardEnabled()) {
+ layoutStandard.setVisibility(View.GONE);
+ layoutNoAutofill.setVisibility(View.VISIBLE);
+ _textPassword = editNoAutofill;
+ } else {
+ layoutStandard.setVisibility(View.VISIBLE);
+ layoutNoAutofill.setVisibility(View.GONE);
+ _textPassword = editStandard;
+ }
+
LinearLayout boxBiometricInfo = findViewById(R.id.box_biometric_info);
_decryptButton = findViewById(R.id.button_decrypt);
TextView biometricsButton = findViewById(R.id.button_biometrics);
@@ -86,10 +102,6 @@ public class AuthActivity extends AegisActivity {
return false;
});
- if (_prefs.isPinKeyboardEnabled()) {
- _textPassword.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);
- }
-
Intent intent = getIntent();
if (savedInstanceState == null) {
_inhibitBioPrompt = intent.getBooleanExtra("inhibitBioPrompt", false);
diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/components/NoAutofillEditText.java b/app/src/main/java/com/beemdevelopment/aegis/ui/components/NoAutofillEditText.java
new file mode 100644
index 00000000..818981d9
--- /dev/null
+++ b/app/src/main/java/com/beemdevelopment/aegis/ui/components/NoAutofillEditText.java
@@ -0,0 +1,35 @@
+package com.beemdevelopment.aegis.ui.components;
+
+import android.content.Context;
+import android.os.Build;
+import android.util.AttributeSet;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.google.android.material.textfield.TextInputEditText;
+
+public class NoAutofillEditText extends TextInputEditText {
+
+ public NoAutofillEditText(@NonNull Context context) {
+ super(context);
+ }
+
+ public NoAutofillEditText(@NonNull Context context, @Nullable AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ public NoAutofillEditText(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ }
+
+ @Override
+ public int getAutofillType() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ return View.AUTOFILL_TYPE_NONE;
+ } else {
+ return super.getAutofillType();
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_auth.xml b/app/src/main/res/layout/activity_auth.xml
index 45e4ae12..f547fe82 100644
--- a/app/src/main/res/layout/activity_auth.xml
+++ b/app/src/main/res/layout/activity_auth.xml
@@ -42,19 +42,39 @@
android:orientation="vertical">
+ app:passwordToggleTint="?attr/colorOnSurface"
+ android:visibility="visible">
+ android:inputType="textPassword"/>
+
+
+
+
+