Loading src/com/android/settings/biometrics/BiometricEnrollIntroduction.java +34 −7 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import com.android.settings.R; import com.android.settings.SetupWizardUtils; import com.android.settings.password.ChooseLockGeneric; import com.android.settings.password.ChooseLockSettingsHelper; import com.android.settings.password.SetupSkipDialog; import com.google.android.setupcompat.template.FooterBarMixin; import com.google.android.setupcompat.template.FooterButton; Loading Loading @@ -284,13 +285,11 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == BIOMETRIC_FIND_SENSOR_REQUEST) { if (resultCode == RESULT_SKIP || resultCode == RESULT_FINISHED) { onSkipButtonClick(mFooterBarMixin.getSecondaryButtonView()); return; if (isResultSkipOrFinished(resultCode)) { handleBiometricResultSkipOrFinished(resultCode, data); } else if (resultCode == RESULT_TIMEOUT) { setResult(resultCode, data); finish(); return; } } else if (requestCode == CHOOSE_LOCK_GENERIC_REQUEST) { mConfirmingCredentials = false; Loading Loading @@ -337,8 +336,8 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase overridePendingTransition(R.anim.sud_slide_back_in, R.anim.sud_slide_back_out); } else if (requestCode == ENROLL_NEXT_BIOMETRIC_REQUEST) { Log.d(TAG, "ENROLL_NEXT_BIOMETRIC_REQUEST, result: " + resultCode); if (resultCode == RESULT_SKIP || resultCode == RESULT_FINISHED) { onSkipButtonClick(mFooterBarMixin.getSecondaryButtonView()); if (isResultSkipOrFinished(resultCode)) { handleBiometricResultSkipOrFinished(resultCode, data); } else if (resultCode != RESULT_CANCELED) { setResult(resultCode, data); finish(); Loading @@ -347,6 +346,25 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase super.onActivityResult(requestCode, resultCode, data); } private static boolean isResultSkipOrFinished(int resultCode) { return resultCode == RESULT_SKIP || resultCode == SetupSkipDialog.RESULT_SKIP || resultCode == RESULT_FINISHED; } private void handleBiometricResultSkipOrFinished(int resultCode, @Nullable Intent data) { if (data != null && data.getBooleanExtra( MultiBiometricEnrollHelper.EXTRA_SKIP_PENDING_ENROLL, false)) { getIntent().removeExtra(MultiBiometricEnrollHelper.EXTRA_ENROLL_AFTER_FACE); } if (resultCode == RESULT_SKIP) { onEnrollmentSkipped(data); } else if (resultCode == RESULT_FINISHED) { onFinishedEnrolling(data); } } /** * Called after confirming credentials. Can be used to prevent the default * behavior of immediately calling #getChallenge (useful to things like intro Loading @@ -364,7 +382,16 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase } protected void onSkipButtonClick(View view) { setResult(RESULT_SKIP); onEnrollmentSkipped(null /* data */); } protected void onEnrollmentSkipped(@Nullable Intent data) { setResult(RESULT_SKIP, data); finish(); } protected void onFinishedEnrolling(@Nullable Intent data) { setResult(RESULT_FINISHED, data); finish(); } Loading src/com/android/settings/biometrics/MultiBiometricEnrollHelper.java +1 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ public class MultiBiometricEnrollHelper { private static final int REQUEST_FINGERPRINT_ENROLL = 3001; public static final String EXTRA_ENROLL_AFTER_FACE = "enroll_after_face"; public static final String EXTRA_SKIP_PENDING_ENROLL = "skip_pending_enroll"; @NonNull private final FragmentActivity mActivity; private final long mGkPwHandle; Loading src/com/android/settings/biometrics/face/FaceEnrollEducation.java +8 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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(); } } Loading src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java +14 −0 Original line number Diff line number Diff line Loading @@ -71,6 +71,20 @@ public class FaceEnrollIntroduction extends BiometricEnrollIntroduction { } } @Override protected void onEnrollmentSkipped(@Nullable Intent data) { if (!BiometricUtils.tryStartingNextBiometricEnroll(this, ENROLL_NEXT_BIOMETRIC_REQUEST)) { super.onEnrollmentSkipped(data); } } @Override protected void onFinishedEnrolling(@Nullable Intent data) { if (!BiometricUtils.tryStartingNextBiometricEnroll(this, ENROLL_NEXT_BIOMETRIC_REQUEST)) { super.onFinishedEnrolling(data); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Loading src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java +10 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,16 @@ public class FaceEnrollParentalConsent extends FaceEnrollIntroduction { onConsentResult(false /* granted */); } @Override protected void onEnrollmentSkipped(@Nullable Intent data) { onConsentResult(false /* granted */); } @Override protected void onFinishedEnrolling(@Nullable Intent data) { onConsentResult(true /* granted */); } private void onConsentResult(boolean granted) { final Intent result = new Intent(); result.putExtra(EXTRA_KEY_MODALITY, TYPE_FACE); Loading Loading
src/com/android/settings/biometrics/BiometricEnrollIntroduction.java +34 −7 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import com.android.settings.R; import com.android.settings.SetupWizardUtils; import com.android.settings.password.ChooseLockGeneric; import com.android.settings.password.ChooseLockSettingsHelper; import com.android.settings.password.SetupSkipDialog; import com.google.android.setupcompat.template.FooterBarMixin; import com.google.android.setupcompat.template.FooterButton; Loading Loading @@ -284,13 +285,11 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == BIOMETRIC_FIND_SENSOR_REQUEST) { if (resultCode == RESULT_SKIP || resultCode == RESULT_FINISHED) { onSkipButtonClick(mFooterBarMixin.getSecondaryButtonView()); return; if (isResultSkipOrFinished(resultCode)) { handleBiometricResultSkipOrFinished(resultCode, data); } else if (resultCode == RESULT_TIMEOUT) { setResult(resultCode, data); finish(); return; } } else if (requestCode == CHOOSE_LOCK_GENERIC_REQUEST) { mConfirmingCredentials = false; Loading Loading @@ -337,8 +336,8 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase overridePendingTransition(R.anim.sud_slide_back_in, R.anim.sud_slide_back_out); } else if (requestCode == ENROLL_NEXT_BIOMETRIC_REQUEST) { Log.d(TAG, "ENROLL_NEXT_BIOMETRIC_REQUEST, result: " + resultCode); if (resultCode == RESULT_SKIP || resultCode == RESULT_FINISHED) { onSkipButtonClick(mFooterBarMixin.getSecondaryButtonView()); if (isResultSkipOrFinished(resultCode)) { handleBiometricResultSkipOrFinished(resultCode, data); } else if (resultCode != RESULT_CANCELED) { setResult(resultCode, data); finish(); Loading @@ -347,6 +346,25 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase super.onActivityResult(requestCode, resultCode, data); } private static boolean isResultSkipOrFinished(int resultCode) { return resultCode == RESULT_SKIP || resultCode == SetupSkipDialog.RESULT_SKIP || resultCode == RESULT_FINISHED; } private void handleBiometricResultSkipOrFinished(int resultCode, @Nullable Intent data) { if (data != null && data.getBooleanExtra( MultiBiometricEnrollHelper.EXTRA_SKIP_PENDING_ENROLL, false)) { getIntent().removeExtra(MultiBiometricEnrollHelper.EXTRA_ENROLL_AFTER_FACE); } if (resultCode == RESULT_SKIP) { onEnrollmentSkipped(data); } else if (resultCode == RESULT_FINISHED) { onFinishedEnrolling(data); } } /** * Called after confirming credentials. Can be used to prevent the default * behavior of immediately calling #getChallenge (useful to things like intro Loading @@ -364,7 +382,16 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase } protected void onSkipButtonClick(View view) { setResult(RESULT_SKIP); onEnrollmentSkipped(null /* data */); } protected void onEnrollmentSkipped(@Nullable Intent data) { setResult(RESULT_SKIP, data); finish(); } protected void onFinishedEnrolling(@Nullable Intent data) { setResult(RESULT_FINISHED, data); finish(); } Loading
src/com/android/settings/biometrics/MultiBiometricEnrollHelper.java +1 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ public class MultiBiometricEnrollHelper { private static final int REQUEST_FINGERPRINT_ENROLL = 3001; public static final String EXTRA_ENROLL_AFTER_FACE = "enroll_after_face"; public static final String EXTRA_SKIP_PENDING_ENROLL = "skip_pending_enroll"; @NonNull private final FragmentActivity mActivity; private final long mGkPwHandle; Loading
src/com/android/settings/biometrics/face/FaceEnrollEducation.java +8 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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(); } } Loading
src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java +14 −0 Original line number Diff line number Diff line Loading @@ -71,6 +71,20 @@ public class FaceEnrollIntroduction extends BiometricEnrollIntroduction { } } @Override protected void onEnrollmentSkipped(@Nullable Intent data) { if (!BiometricUtils.tryStartingNextBiometricEnroll(this, ENROLL_NEXT_BIOMETRIC_REQUEST)) { super.onEnrollmentSkipped(data); } } @Override protected void onFinishedEnrolling(@Nullable Intent data) { if (!BiometricUtils.tryStartingNextBiometricEnroll(this, ENROLL_NEXT_BIOMETRIC_REQUEST)) { super.onFinishedEnrolling(data); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Loading
src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java +10 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,16 @@ public class FaceEnrollParentalConsent extends FaceEnrollIntroduction { onConsentResult(false /* granted */); } @Override protected void onEnrollmentSkipped(@Nullable Intent data) { onConsentResult(false /* granted */); } @Override protected void onFinishedEnrolling(@Nullable Intent data) { onConsentResult(true /* granted */); } private void onConsentResult(boolean granted) { final Intent result = new Intent(); result.putExtra(EXTRA_KEY_MODALITY, TYPE_FACE); Loading