Prevent the bouncer from showing over dreams when swiping down the

shade.

Currently, since the bouncer and notification shade utilize the same
panel, we see the bouncer appear when swiping down the shade. With this
fix, we only allow the bouncer to expand if the shade is not expanded.

Bug: 226419441
Bug: 224996347
Test: locally on device
Change-Id: I6f702cc1d262bb3a0397fadf7f14b8f3c683900d
This commit is contained in:
Lucas Silva
2022-03-29 16:45:20 -04:00
parent 471391ddeb
commit fc8beb0ae1

View File

@@ -355,6 +355,12 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
@Override
public void onPanelExpansionChanged(float fraction, boolean expanded, boolean tracking) {
// Avoid having the shade and the bouncer open at the same time over a dream.
final boolean hideBouncerOverDream =
mDreamOverlayStateController.isOverlayActive()
&& (mNotificationPanelViewController.isExpanded()
|| mNotificationPanelViewController.isExpanding());
// We don't want to translate the bounce when:
// • Keyguard is occluded, because we're in a FLAG_SHOW_WHEN_LOCKED activity and need to
// conserve the original animation.
@@ -371,7 +377,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
return;
} else if (bouncerNeedsScrimming()) {
mBouncer.setExpansion(KeyguardBouncer.EXPANSION_VISIBLE);
} else if (mShowing) {
} else if (mShowing && !hideBouncerOverDream) {
if (!isWakeAndUnlocking()
&& !mCentralSurfaces.isInLaunchTransition()
&& !isUnlockCollapsing()) {