Merge "Fix issue where notifications remained hidden on lock screen after two quick power presses." into sc-dev
This commit is contained in:
@@ -393,6 +393,11 @@ class NotificationWakeUpCoordinator @Inject constructor(
|
||||
override fun onDozingChanged(isDozing: Boolean) {
|
||||
if (isDozing) {
|
||||
setNotificationsVisible(visible = false, animate = false, increaseSpeed = false)
|
||||
} else {
|
||||
// We only unset the flag once we fully went asleep. If the user interrupts the
|
||||
// animation in the middle, we have to abort the animation as well to make sure
|
||||
// the notifications are visible again.
|
||||
animatingScreenOff = false
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3615,10 +3615,16 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
|
||||
boolean visibleNotOccluded = mStatusBarKeyguardViewManager.isShowing()
|
||||
&& !mStatusBarKeyguardViewManager.isOccluded();
|
||||
// If we're dozing and we'll be animating the screen off, the keyguard isn't currently
|
||||
// visible but will be shortly for the animation, so we should proceed as if it's visible.
|
||||
boolean visibleNotOccludedOrWillBe =
|
||||
visibleNotOccluded || (mDozing && mDozeParameters.shouldControlUnlockedScreenOff());
|
||||
|
||||
boolean wakeAndUnlock = mBiometricUnlockController.getMode()
|
||||
== BiometricUnlockController.MODE_WAKE_AND_UNLOCK;
|
||||
boolean animate = (!mDozing && mDozeServiceHost.shouldAnimateWakeup() && !wakeAndUnlock)
|
||||
|| (mDozing && mDozeServiceHost.shouldAnimateScreenOff() && visibleNotOccluded);
|
||||
|| (mDozing && mDozeServiceHost.shouldAnimateScreenOff()
|
||||
&& visibleNotOccludedOrWillBe);
|
||||
|
||||
mNotificationPanelViewController.setDozing(mDozing, animate, mWakeUpTouchLocation);
|
||||
updateQsExpansionEnabled();
|
||||
|
||||
Reference in New Issue
Block a user