From cd26929d3918058adcb914e26ce02577243ba7f1 Mon Sep 17 00:00:00 2001 From: jeffrey-signal Date: Thu, 14 Aug 2025 12:22:19 -0400 Subject: [PATCH] Prevent password managers from overwriting backup key with Signal PIN. Adding a hidden username field provides additional context for the autofill service, so it knows the username associated with the confirmed PIN should be "Signal PIN" rather than "Signal backup key". --- .../securesms/lock/v2/CreateSvrPinFragment.kt | 5 ++++- .../main/res/layout/base_kbs_pin_fragment.xml | 17 +++++++++++++++++ ...agment_registration_pin_restore_entry_v2.xml | 17 +++++++++++++++++ .../main/res/layout/kbs_pin_reminder_view.xml | 16 ++++++++++++++++ .../res/layout/pin_disable_reminders_dialog.xml | 17 +++++++++++++++++ 5 files changed, 71 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/lock/v2/CreateSvrPinFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/lock/v2/CreateSvrPinFragment.kt index 77a5c32185..b24eaea8a4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/lock/v2/CreateSvrPinFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/lock/v2/CreateSvrPinFragment.kt @@ -5,6 +5,7 @@ import android.view.animation.Animation import android.view.animation.TranslateAnimation import android.widget.EditText import androidx.annotation.PluralsRes +import androidx.autofill.HintConstants import androidx.core.content.ContextCompat import androidx.core.view.ViewCompat import androidx.lifecycle.ViewModelProvider @@ -26,7 +27,9 @@ class CreateSvrPinFragment : BaseSvrPinFragment() { label.text = getPinLengthRestrictionText(R.plurals.CreateKbsPinFragment__pin_must_be_at_least_digits) confirm.isEnabled = false - ViewCompat.setImportantForAutofill(input, View.IMPORTANT_FOR_AUTOFILL_NO) + + ViewCompat.setImportantForAutofill(input, View.IMPORTANT_FOR_AUTOFILL_YES) + ViewCompat.setAutofillHints(input, HintConstants.AUTOFILL_HINT_PASSWORD) } private fun initializeViewStatesForPinChange() { 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 75b5b5cd52..33445de164 100644 --- a/app/src/main/res/layout/base_kbs_pin_fragment.xml +++ b/app/src/main/res/layout/base_kbs_pin_fragment.xml @@ -47,6 +47,23 @@ app:layout_constraintTop_toBottomOf="@id/edit_kbs_pin_title" tools:text="@string/CreateKbsPinFragment__pins_can_help_you_restore_your_account" /> + + + + + + + + + + +