diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/NoAutofillEditText.kt b/app/src/main/java/org/thoughtcrime/securesms/components/NoAutofillEditText.kt new file mode 100644 index 0000000000..5bd11078df --- /dev/null +++ b/app/src/main/java/org/thoughtcrime/securesms/components/NoAutofillEditText.kt @@ -0,0 +1,21 @@ +/* + * Copyright 2025 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + +package org.thoughtcrime.securesms.components + +import android.content.Context +import android.util.AttributeSet +import com.google.android.material.textfield.TextInputEditText + +/** + * An EditText that completely disables Android's auto-fill functionality. + */ +class NoAutofillEditText : TextInputEditText { + constructor(context: Context) : super(context, null) + constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) + constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) + + override fun getAutofillType(): Int = AUTOFILL_TYPE_NONE +} diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberRegistrationLockFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberRegistrationLockFragment.kt index ca9401acf7..f00e30b4a7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberRegistrationLockFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberRegistrationLockFragment.kt @@ -205,7 +205,7 @@ class ChangeNumberRegistrationLockFragment : LoggingFragment(R.layout.fragment_c private fun onIncorrectKbsRegistrationLockPin(svrTriesRemaining: Int) { binding.kbsLockPinConfirm.cancelSpinning() - binding.kbsLockPinInput.getText().clear() + binding.kbsLockPinInput.getText()?.clear() enableAndFocusPinEntry() if (svrTriesRemaining == 0) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/lock/v2/PinKeyboardType.kt b/app/src/main/java/org/thoughtcrime/securesms/lock/v2/PinKeyboardType.kt index 4919f61387..012a64dd61 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/lock/v2/PinKeyboardType.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/lock/v2/PinKeyboardType.kt @@ -29,7 +29,7 @@ enum class PinKeyboardType(val code: String) { private val inputType: Int by lazy { when (this) { NUMERIC -> InputType.TYPE_CLASS_NUMBER or InputType.TYPE_NUMBER_VARIATION_PASSWORD - ALPHA_NUMERIC -> InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS or InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD + ALPHA_NUMERIC -> InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_PASSWORD } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/registrationlock/RegistrationLockFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/registrationlock/RegistrationLockFragment.kt index 7b53d65d50..cc4861e525 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/registrationlock/RegistrationLockFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/registrationlock/RegistrationLockFragment.kt @@ -185,7 +185,7 @@ class RegistrationLockFragment : LoggingFragment(R.layout.fragment_registration_ private fun onIncorrectKbsRegistrationLockPin(svrTriesRemaining: Int) { binding.kbsLockPinConfirm.cancelSpinning() - binding.kbsLockPinInput.getText().clear() + binding.kbsLockPinInput.getText()?.clear() enableAndFocusPinEntry() if (svrTriesRemaining == 0) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/registrationv3/ui/registrationlock/RegistrationLockFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/registrationv3/ui/registrationlock/RegistrationLockFragment.kt index 895ba839d8..6a529245ee 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registrationv3/ui/registrationlock/RegistrationLockFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registrationv3/ui/registrationlock/RegistrationLockFragment.kt @@ -185,7 +185,7 @@ class RegistrationLockFragment : LoggingFragment(R.layout.fragment_registration_ private fun onIncorrectKbsRegistrationLockPin(svrTriesRemaining: Int) { binding.kbsLockPinConfirm.cancelSpinning() - binding.kbsLockPinInput.getText().clear() + binding.kbsLockPinInput.getText()?.clear() enableAndFocusPinEntry() if (svrTriesRemaining == 0) { diff --git a/app/src/main/res/layout/base_kbs_pin_fragment.xml b/app/src/main/res/layout/base_kbs_pin_fragment.xml index db85dc6979..0e03df8f4d 100644 --- a/app/src/main/res/layout/base_kbs_pin_fragment.xml +++ b/app/src/main/res/layout/base_kbs_pin_fragment.xml @@ -63,7 +63,7 @@ app:layout_constraintTop_toBottomOf="@+id/edit_kbs_pin_description" app:materialThemeOverlay="@style/Signal.ThemeOverlay.TextInputLayout"> - - - - - -