Fix issue where back button causes shade to appear over bouncer.

This ensures that when the back button is pressed, we close the bouncer
and go back to the dream.

Fixed: 228616235
Test: locally on device
Change-Id: I9ac089c889ded6065e308d15b52c73c45c200170
This commit is contained in:
Lucas Silva
2022-04-08 19:07:43 -04:00
parent c5c7f30d43
commit 8c749d711c

View File

@@ -3251,9 +3251,13 @@ public class CentralSurfaces extends CoreStartable implements
}
public boolean onBackPressed() {
boolean isScrimmedBouncer = mScrimController.getState() == ScrimState.BOUNCER_SCRIMMED;
if (mStatusBarKeyguardViewManager.onBackPressed(isScrimmedBouncer /* hideImmediately */)) {
if (isScrimmedBouncer) {
final boolean isScrimmedBouncer =
mScrimController.getState() == ScrimState.BOUNCER_SCRIMMED;
final boolean isBouncerOverDream = isBouncerShowingOverDream();
if (mStatusBarKeyguardViewManager.onBackPressed(
isScrimmedBouncer || isBouncerOverDream /* hideImmediately */)) {
if (isScrimmedBouncer || isBouncerOverDream) {
mStatusBarStateController.setLeaveOpenOnKeyguardHide(false);
} else {
mNotificationPanelViewController.expandWithoutQs();
@@ -3275,7 +3279,8 @@ public class CentralSurfaces extends CoreStartable implements
if (mNotificationPanelViewController.closeUserSwitcherIfOpen()) {
return true;
}
if (mState != StatusBarState.KEYGUARD && mState != StatusBarState.SHADE_LOCKED) {
if (mState != StatusBarState.KEYGUARD && mState != StatusBarState.SHADE_LOCKED
&& !isBouncerOverDream) {
if (mNotificationPanelViewController.canPanelBeCollapsed()) {
mShadeController.animateCollapsePanels();
}