commit | aea1bdec2d20753bbb64b53ac95b347395877493 | [log] [tgz] |
---|---|---|
author | Curtis Belmonte <curtislb@google.com> | Mon Jan 06 12:13:36 2020 -0800 |
committer | Curtis Belmonte <curtislb@google.com> | Tue Jan 07 17:34:34 2020 -0800 |
tree | 6e828474bf14cfb9913870e34c736dc6c87c610b | |
parent | 935d5fa76ef8a0d1e59f2cd25327e32ef1d856cc [diff] |
Fix issues with SUW on fingerprint devices Fixes the following issues related to fingerprint/face in Setup Wizard: - Ensures super.onStop() is called by all enrollment-related Activities Test: Proceed through Setup Wizard on factory reset Pixel 3 XL Before: Periodic crash dialogs and stuck on fingerprint enrollment After: Able to proceed through wizard and enroll fingerprint normally Bug: 147325159 Change-Id: I76eb8c944140aa68f78eaea3702f440102b779c6
diff --git a/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java b/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java index 17a933b..f131e35 100644 --- a/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java +++ b/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java
@@ -60,6 +60,8 @@ @Override protected void onStop() { + super.onStop(); + if (mSidecar != null) { mSidecar.setListener(null); } @@ -78,6 +80,12 @@ } @Override + protected boolean shouldFinishWhenBackgrounded() { + // Prevent super.onStop() from finishing, since we handle this in our onStop(). + return false; + } + + @Override public void onBackPressed() { if (mSidecar != null) { mSidecar.setListener(null);
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java index 8194878..3831b07 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -217,13 +217,15 @@ private void stopIconAnimation() { mAnimationCancelled = true; - mIconAnimationDrawable.stop(); + if (mIconAnimationDrawable != null) { + mIconAnimationDrawable.stop(); + } } @Override protected void onStop() { - stopIconAnimation(); super.onStop(); + stopIconAnimation(); } private void animateProgress(int progress) {
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java index 9508268..dbedb4a 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
@@ -115,10 +115,10 @@ @Override protected void onStop() { + super.onStop(); if (mAnimation != null) { mAnimation.pauseAnimation(); } - super.onStop(); } @Override