From e167f9ed0a7ba9d13a4b4347dfaf0eef1acab8c2 Mon Sep 17 00:00:00 2001 From: Joe Bolinger Date: Thu, 18 Aug 2022 00:46:36 +0000 Subject: [PATCH] Cache context for generateChallenge response. Fix: 232678514 Test: manual Change-Id: I7deac5f296260bf667b15300e600195c42c0cbc1 --- .../biometrics/combination/BiometricsSettingsBase.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java index bd79cc210b7..404fe6d86e8 100644 --- a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java +++ b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java @@ -127,13 +127,14 @@ public abstract class BiometricsSettingsBase extends DashboardFragment { @Override public boolean onPreferenceTreeClick(Preference preference) { final String key = preference.getKey(); + final Context context = requireActivity().getApplicationContext(); // Generate challenge (and request LSS to create a HAT) each time the preference is clicked, // since FingerprintSettings and FaceSettings revoke the challenge when finishing. if (getFacePreferenceKey().equals(key)) { mDoNotFinishActivity = true; mFaceManager.generateChallenge(mUserId, (sensorId, userId, challenge) -> { - final byte[] token = BiometricUtils.requestGatekeeperHat(getActivity(), mGkPwHandle, + final byte[] token = BiometricUtils.requestGatekeeperHat(context, mGkPwHandle, mUserId, challenge); final Bundle extras = preference.getExtras(); extras.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token); @@ -146,7 +147,7 @@ public abstract class BiometricsSettingsBase extends DashboardFragment { } else if (getFingerprintPreferenceKey().equals(key)) { mDoNotFinishActivity = true; mFingerprintManager.generateChallenge(mUserId, (sensorId, userId, challenge) -> { - final byte[] token = BiometricUtils.requestGatekeeperHat(getActivity(), mGkPwHandle, + final byte[] token = BiometricUtils.requestGatekeeperHat(context, mGkPwHandle, mUserId, challenge); final Bundle extras = preference.getExtras(); extras.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);