Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aea1bdec authored by Curtis Belmonte's avatar Curtis Belmonte
Browse files

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
parent 935d5fa7
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -60,6 +60,8 @@ public abstract class BiometricsEnrollEnrolling extends BiometricEnrollBase

    @Override
    protected void onStop() {
        super.onStop();

        if (mSidecar != null) {
            mSidecar.setListener(null);
        }
@@ -77,6 +79,12 @@ public abstract class BiometricsEnrollEnrolling extends BiometricEnrollBase
        }
    }

    @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) {
+4 −2
Original line number Diff line number Diff line
@@ -217,13 +217,15 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {

    private void stopIconAnimation() {
        mAnimationCancelled = true;
        if (mIconAnimationDrawable != null) {
            mIconAnimationDrawable.stop();
        }
    }

    @Override
    protected void onStop() {
        stopIconAnimation();
        super.onStop();
        stopIconAnimation();
    }

    private void animateProgress(int progress) {
+1 −1
Original line number Diff line number Diff line
@@ -115,10 +115,10 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase {

    @Override
    protected void onStop() {
        super.onStop();
        if (mAnimation != null) {
            mAnimation.pauseAnimation();
        }
        super.onStop();
    }

    @Override