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

Commit 52c21c8c authored by Lucas Dupin's avatar Lucas Dupin
Browse files

Hide backdrop when waking up from fp

When the display is off or in low power mode, and the user
wakes it up using fingerprint, we should go directly to
an unlocked state hiding whatever was visible on the backdrop.

You might be able to briefly see the backdrop otherwise.

Test: wake up from AOD with/without lockscreen image
Test: wake up from pulse with/without lockscreen image
Test: unlock with fp from lock screen
Change-Id: Ia27c80b32863c57461fb6aa74f6c31bf0803b6fb
Fixes: 80531298
parent 15ebbeb9
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -403,10 +403,19 @@ public class FingerprintUnlockController extends KeyguardUpdateMonitorCallback {
        pw.print("   mWakeLock="); pw.println(mWakeLock);
    }

    /**
     * Successful authentication with fingerprint that wakes up the device.
     */
    public boolean isWakeAndUnlock() {
        return mMode == MODE_UNLOCK
                || mMode == MODE_WAKE_AND_UNLOCK
        return mMode == MODE_WAKE_AND_UNLOCK
                || mMode == MODE_WAKE_AND_UNLOCK_PULSING
                || mMode == MODE_WAKE_AND_UNLOCK_FROM_DREAM;
    }

    /**
     * Successful authentication with fingerprint when the screen was either on or off.
     */
    public boolean isFingerprintUnlock() {
        return isWakeAndUnlock() || mMode == MODE_UNLOCK;
    }
}
+6 −4
Original line number Diff line number Diff line
@@ -1599,7 +1599,9 @@ public class StatusBar extends SystemUI implements DemoMode,
            return; // called too early
        }

        if (mLaunchTransitionFadingAway) {
        boolean wakeAndUnlock = mFingerprintUnlockController != null
            && mFingerprintUnlockController.isWakeAndUnlock();
        if (mLaunchTransitionFadingAway || wakeAndUnlock) {
            mBackdrop.setVisibility(View.INVISIBLE);
            Trace.endSection();
            return;
@@ -4712,11 +4714,11 @@ public class StatusBar extends SystemUI implements DemoMode,

        // We don't want to end up in KEYGUARD state when we're unlocking with
        // fingerprint from doze. We should cross fade directly from black.
        final boolean wakeAndUnlocking = mFingerprintUnlockController.getMode()
                == FingerprintUnlockController.MODE_WAKE_AND_UNLOCK;
        boolean wakeAndUnlocking = mFingerprintUnlockController.isWakeAndUnlock();

        // Do not animate the scrim expansion when triggered by the fingerprint sensor.
        mScrimController.setExpansionAffectsAlpha(!mFingerprintUnlockController.isWakeAndUnlock());
        mScrimController.setExpansionAffectsAlpha(
                !mFingerprintUnlockController.isFingerprintUnlock());

        if (mBouncerShowing) {
            // Bouncer needs the front scrim when it's on top of an activity,