SUW enrolls FP before Face
Test: During SUW verified Fingerprint enrollment
comes before face.
Test: During SUW enrolled multiple fingerprints than 1 face.
Test: Skipped and cancelled on every possible screen to ensure behavior
was correct.
Bug: 228607474
Change-Id: I4c50763a804fe4eb9d62451eb2f957545857723e
diff --git a/src/com/android/settings/biometrics/MultiBiometricEnrollHelper.java b/src/com/android/settings/biometrics/MultiBiometricEnrollHelper.java
index 5cc45b1..94fbb76 100644
--- a/src/com/android/settings/biometrics/MultiBiometricEnrollHelper.java
+++ b/src/com/android/settings/biometrics/MultiBiometricEnrollHelper.java
@@ -37,6 +37,7 @@
private static final int REQUEST_FINGERPRINT_ENROLL = 3001;
public static final String EXTRA_ENROLL_AFTER_FACE = "enroll_after_face";
+ public static final String EXTRA_ENROLL_AFTER_FINGERPRINT = "enroll_after_finger";
public static final String EXTRA_SKIP_PENDING_ENROLL = "skip_pending_enroll";
@NonNull private final FragmentActivity mActivity;
@@ -55,10 +56,10 @@
}
void startNextStep() {
- if (mRequestEnrollFace) {
- launchFaceEnroll();
- } else if (mRequestEnrollFingerprint) {
+ if (mRequestEnrollFingerprint) {
launchFingerprintEnroll();
+ } else if (mRequestEnrollFace) {
+ launchFaceEnroll();
} else {
mActivity.setResult(BiometricEnrollIntroduction.RESULT_SKIP);
mActivity.finish();
@@ -74,20 +75,6 @@
mActivity.getIntent());
faceIntent.putExtra(BiometricEnrollBase.EXTRA_KEY_SENSOR_ID, sensorId);
faceIntent.putExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge);
-
- if (mRequestEnrollFingerprint) {
- // Give FaceEnroll a pendingIntent pointing to fingerprint enrollment, so that it
- // can be started when user skips or finishes face enrollment. FLAG_UPDATE_CURRENT
- // ensures it is launched with the most recent values.
- final Intent fpIntent = BiometricUtils.getFingerprintIntroIntent(mActivity,
- mActivity.getIntent());
- fpIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, mGkPwHandle);
- final PendingIntent fpAfterFaceIntent = PendingIntent.getActivity(mActivity,
- 0 /* requestCode */, fpIntent,
- PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT);
- faceIntent.putExtra(EXTRA_ENROLL_AFTER_FACE, fpAfterFaceIntent);
- }
-
BiometricUtils.launchEnrollForResult(mActivity, faceIntent, REQUEST_FACE_ENROLL,
hardwareAuthToken, mGkPwHandle, mUserId);
});
@@ -103,6 +90,19 @@
mActivity.getIntent());
intent.putExtra(BiometricEnrollBase.EXTRA_KEY_SENSOR_ID, sensorId);
intent.putExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge);
+ if (mRequestEnrollFace) {
+ // Give FingerprintEnroll a pendingIntent pointing to face enrollment, so that it
+ // can be started when user skips or finishes fingerprint enrollment.
+ // FLAG_UPDATE_CURRENT ensures it is launched with the most recent values.
+ final Intent faceIntent = BiometricUtils.getFaceIntroIntent(mActivity,
+ mActivity.getIntent());
+ faceIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, mGkPwHandle);
+ final PendingIntent faceAfterFp = PendingIntent.getActivity(mActivity,
+ 0 /* requestCode */, faceIntent,
+ PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT);
+ intent.putExtra(EXTRA_ENROLL_AFTER_FINGERPRINT, faceAfterFp);
+ }
+
BiometricUtils.launchEnrollForResult(mActivity, intent, REQUEST_FINGERPRINT_ENROLL,
hardwareAuthToken, mGkPwHandle, mUserId);
}));