Ensure fingerprint setup is shown once after face
Adds an activity result extra during multi-biometric enroll that ensures fingerprint setup will not be repeated multiple times if explicitly finished or skipped by the user. Also updates various activities in the stack to ensure that they handle all possible result codes correctly and pass along result data. Test: Manually skip and complete at each stage of multi-biometric enroll Test: Manually test single-biometric enroll flows for SUW and Settings Fixes: 193601823 Change-Id: Ic5a8306068eb4c32009f146ad6fff824fde25a11
This commit is contained in:
@@ -33,6 +33,7 @@ import com.android.settings.Utils;
|
||||
import com.android.settings.biometrics.BiometricEnrollBase;
|
||||
import com.android.settings.biometrics.BiometricUtils;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.android.settings.password.SetupSkipDialog;
|
||||
|
||||
import com.airbnb.lottie.LottieAnimationView;
|
||||
import com.google.android.setupcompat.template.FooterBarMixin;
|
||||
@@ -225,13 +226,17 @@ public class FaceEnrollEducation extends BiometricEnrollBase {
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
mResultIntent = data;
|
||||
if (requestCode == BIOMETRIC_FIND_SENSOR_REQUEST) {
|
||||
if (requestCode == BIOMETRIC_FIND_SENSOR_REQUEST
|
||||
|| requestCode == ENROLL_NEXT_BIOMETRIC_REQUEST) {
|
||||
// If the user finished or skipped enrollment, finish this activity
|
||||
if (resultCode == RESULT_FINISHED || resultCode == RESULT_SKIP
|
||||
|| resultCode == RESULT_TIMEOUT) {
|
||||
if (resultCode == RESULT_SKIP || resultCode == RESULT_FINISHED
|
||||
|| resultCode == SetupSkipDialog.RESULT_SKIP) {
|
||||
setResult(resultCode, data);
|
||||
finish();
|
||||
}
|
||||
} else if (resultCode == RESULT_TIMEOUT) {
|
||||
setResult(resultCode, data);
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user