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
This commit is contained in:
Joe Bolinger
2021-05-21 12:22:22 -07:00
parent 8c1c7b63a7
commit eb5fd6ec30

View File

@@ -122,7 +122,10 @@ public abstract class BiometricsSettingsBase extends DashboardFragment {
extras.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token); extras.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);
extras.putInt(BiometricEnrollBase.EXTRA_KEY_SENSOR_ID, sensorId); extras.putInt(BiometricEnrollBase.EXTRA_KEY_SENSOR_ID, sensorId);
extras.putLong(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge); extras.putLong(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge);
super.onPreferenceTreeClick(preference);
}); });
return true;
} else if (getFingerprintPreferenceKey().equals(key)) { } else if (getFingerprintPreferenceKey().equals(key)) {
mDoNotFinishActivity = true; mDoNotFinishActivity = true;
mFingerprintManager.generateChallenge(mUserId, (sensorId, userId, challenge) -> { mFingerprintManager.generateChallenge(mUserId, (sensorId, userId, challenge) -> {
@@ -131,8 +134,12 @@ public abstract class BiometricsSettingsBase extends DashboardFragment {
final Bundle extras = preference.getExtras(); final Bundle extras = preference.getExtras();
extras.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token); extras.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);
extras.putLong(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge); extras.putLong(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge);
super.onPreferenceTreeClick(preference);
}); });
return true;
} }
return super.onPreferenceTreeClick(preference); return super.onPreferenceTreeClick(preference);
} }