From eb5fd6ec302b710a28ed47e02ffb9c0bcafb15c5 Mon Sep 17 00:00:00 2001 From: Joe Bolinger Date: Fri, 21 May 2021 12:22:22 -0700 Subject: [PATCH] Prevent duplicate lock confirmation in face & fingerprint settings. Wait for all extras to be available before launching the next activity. Fix: 187005993 Test: manual (open face/fp settings & verify only asked for PIN once) Change-Id: I9e3f46d5750b11ab0773d08d44908d3e9703ca42 --- .../biometrics/combination/BiometricsSettingsBase.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java index 328ecbcb3c4..d8197c02abb 100644 --- a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java +++ b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java @@ -122,7 +122,10 @@ public abstract class BiometricsSettingsBase extends DashboardFragment { extras.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token); extras.putInt(BiometricEnrollBase.EXTRA_KEY_SENSOR_ID, sensorId); extras.putLong(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge); + super.onPreferenceTreeClick(preference); }); + + return true; } else if (getFingerprintPreferenceKey().equals(key)) { mDoNotFinishActivity = true; mFingerprintManager.generateChallenge(mUserId, (sensorId, userId, challenge) -> { @@ -131,8 +134,12 @@ public abstract class BiometricsSettingsBase extends DashboardFragment { final Bundle extras = preference.getExtras(); extras.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token); extras.putLong(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge); + super.onPreferenceTreeClick(preference); }); + + return true; } + return super.onPreferenceTreeClick(preference); }