Don't collapse the panel post launch if we went back to sleep.
This manages to call through to PowerManager#wakeUp. If you press the
power button to sleep the device during an app launch, this will then
wake up the device and show the bouncer, but in a weird state with no
scrim.
Bug: 220907477
Test: manual
Change-Id: I7470cfd69cc27458dfed3c5b68fc0c4ef69ae55d
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java
index 5642744..de2346a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java
@@ -1870,7 +1870,13 @@
if (!mPresenter.isCollapsing()) {
onClosingFinished();
}
- if (launchIsFullScreen) {
+
+ // Collapse the panel if we're launching in fullscreen, over the lockscreen. Do not do this
+ // if the device has gone back to sleep - through a horrific chain of 15 or so function
+ // calls, instantCollapseNotificationPanel will eventually call through to
+ // StatusBar#wakeUpIfDozing, which will wake the device up even if it was put to sleep
+ // during the launch animation.
+ if (launchIsFullScreen && mPowerManager.isInteractive()) {
instantCollapseNotificationPanel();
}
}