Reset to LiftReveal when going to sleep due to timing out, after a biometric auth.
This was causing the device to sleep using the CircleReveal, since it wasn't allowed to be reset to LiftReveal if we went to sleep from timeout (vs. a power button press, where it'd be reset to PowerButtonReveal). If the device was subsequently woken up via a tap (not a power press or a lift), the CircleReveal remained as the reveal effect. The reveal amount for a CircleReveal is controlled by the biometric auth controller, but since we weren't actually waking up from a biometric auth, nothing happened and the reveal amount remained at 0f. Since you can't "go to sleep from a biometric auth", this is a safe fix to make sure we don't leave the CircleReveal set as the reveal effect. Fixes: 192912744 Test: wake the device via fingerprint while it's asleep, then let it time out and receive a HUN Change-Id: I86f2ad17d175c40c159de9ed6372490fb6e276f0
This commit is contained in:
@@ -3935,7 +3935,11 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
|| !wakingUp && mWakefulnessLifecycle.getLastSleepReason()
|
||||
== PowerManager.GO_TO_SLEEP_REASON_POWER_BUTTON) {
|
||||
mLightRevealScrim.setRevealEffect(mPowerButtonReveal);
|
||||
} else if (!(mLightRevealScrim.getRevealEffect() instanceof CircleReveal)) {
|
||||
} else if (!wakingUp || !(mLightRevealScrim.getRevealEffect() instanceof CircleReveal)) {
|
||||
// If we're going to sleep, but it's not from the power button, use the default reveal.
|
||||
// If we're waking up, only use the default reveal if the biometric controller didn't
|
||||
// already set it to the circular reveal because we're waking up from a fingerprint/face
|
||||
// auth.
|
||||
mLightRevealScrim.setRevealEffect(LiftReveal.INSTANCE);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user