Loading src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java +6 −3 Original line number Diff line number Diff line Loading @@ -168,7 +168,8 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { private Vibrator mVibrator; private boolean mIsSetupWizard; private boolean mIsOrientationChanged; private boolean mIsCanceled; @VisibleForTesting boolean mIsCanceled; private AccessibilityManager mAccessibilityManager; private boolean mIsAccessibilityEnabled; private LottieAnimationView mIllustrationLottie; Loading Loading @@ -196,7 +197,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { @Override public void onWindowFocusChanged(boolean hasFocus) { if (hasFocus) { if (hasFocus || mIsCanceled) { return; } Loading Loading @@ -411,8 +412,10 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { @VisibleForTesting void onCancelEnrollment(@IdRes int errorMsgId) { FingerprintErrorDialog.showErrorDialog(this, errorMsgId); // showErrorDialog() will cause onWindowFocusChanged(false), set mIsCanceled to false // before showErrorDialog() to prevent that another error dialog is triggered again. mIsCanceled = true; FingerprintErrorDialog.showErrorDialog(this, errorMsgId); mIsOrientationChanged = false; cancelEnrollment(); stopIconAnimation(); Loading src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java +1 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ public class FingerprintErrorDialog extends InstrumentedDialogFragment { dialog.dismiss(); Activity activity = getActivity(); Intent intent = activity.getIntent(); intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); intent.putExtra(KEY_STATE_CANCELED, false); activity.startActivity(intent); activity.finish(); Loading tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java +10 −0 Original line number Diff line number Diff line Loading @@ -150,6 +150,16 @@ public class FingerprintEnrollEnrollingTest { verify(mActivity, never()).onCancelEnrollment(anyInt()); } @Test public void fingerprintUdfpsOverlayEnrollment_loseFocusWithCancelFlag_shouldNotCancelAgain() { initializeActivityFor(TYPE_UDFPS_OPTICAL); mActivity.mIsCanceled = true; mActivity.onWindowFocusChanged(true); verify(mActivity, never()).onCancelEnrollment(anyInt()); } @Test public void fingerprintSfpsEnroll_PlaysAllAnimationsAssetsCorrectly() { initializeActivityFor(TYPE_POWER_BUTTON); Loading Loading
src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java +6 −3 Original line number Diff line number Diff line Loading @@ -168,7 +168,8 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { private Vibrator mVibrator; private boolean mIsSetupWizard; private boolean mIsOrientationChanged; private boolean mIsCanceled; @VisibleForTesting boolean mIsCanceled; private AccessibilityManager mAccessibilityManager; private boolean mIsAccessibilityEnabled; private LottieAnimationView mIllustrationLottie; Loading Loading @@ -196,7 +197,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { @Override public void onWindowFocusChanged(boolean hasFocus) { if (hasFocus) { if (hasFocus || mIsCanceled) { return; } Loading Loading @@ -411,8 +412,10 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { @VisibleForTesting void onCancelEnrollment(@IdRes int errorMsgId) { FingerprintErrorDialog.showErrorDialog(this, errorMsgId); // showErrorDialog() will cause onWindowFocusChanged(false), set mIsCanceled to false // before showErrorDialog() to prevent that another error dialog is triggered again. mIsCanceled = true; FingerprintErrorDialog.showErrorDialog(this, errorMsgId); mIsOrientationChanged = false; cancelEnrollment(); stopIconAnimation(); Loading
src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java +1 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ public class FingerprintErrorDialog extends InstrumentedDialogFragment { dialog.dismiss(); Activity activity = getActivity(); Intent intent = activity.getIntent(); intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); intent.putExtra(KEY_STATE_CANCELED, false); activity.startActivity(intent); activity.finish(); Loading
tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java +10 −0 Original line number Diff line number Diff line Loading @@ -150,6 +150,16 @@ public class FingerprintEnrollEnrollingTest { verify(mActivity, never()).onCancelEnrollment(anyInt()); } @Test public void fingerprintUdfpsOverlayEnrollment_loseFocusWithCancelFlag_shouldNotCancelAgain() { initializeActivityFor(TYPE_UDFPS_OPTICAL); mActivity.mIsCanceled = true; mActivity.onWindowFocusChanged(true); verify(mActivity, never()).onCancelEnrollment(anyInt()); } @Test public void fingerprintSfpsEnroll_PlaysAllAnimationsAssetsCorrectly() { initializeActivityFor(TYPE_POWER_BUTTON); Loading