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.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);
}