diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSContainer.java b/packages/SystemUI/src/com/android/systemui/qs/QSContainer.java index 19a5d522f5304..2b28fe65b22c0 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSContainer.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSContainer.java @@ -320,4 +320,9 @@ public class QSContainer extends FrameLayout { public int getQsMinExpansionHeight() { return mHeader.getHeight(); } + + public void hideImmediately() { + animate().cancel(); + setY(-mHeader.getHeight()); + } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java index 1cf7a23e6b402..ede6fd08dd262 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -1002,8 +1002,8 @@ public class NotificationPanelView extends PanelView implements mKeyguardShowing = keyguardShowing; mQsContainer.setKeyguardShowing(mKeyguardShowing); - if (goingToFullShade || (oldState == StatusBarState.KEYGUARD - && statusBarState == StatusBarState.SHADE_LOCKED)) { + if (oldState == StatusBarState.KEYGUARD + && (goingToFullShade || statusBarState == StatusBarState.SHADE_LOCKED)) { animateKeyguardStatusBarOut(); long delay = mStatusBarState == StatusBarState.SHADE_LOCKED ? 0 : mStatusBar.calculateGoingToFullShadeDelay(); @@ -1017,6 +1017,7 @@ public class NotificationPanelView extends PanelView implements mKeyguardStatusBar.setVisibility(keyguardShowing ? View.VISIBLE : View.INVISIBLE); if (keyguardShowing && oldState != mStatusBarState) { mKeyguardBottomArea.onKeyguardShowingChanged(); + mQsContainer.hideImmediately(); } } if (keyguardShowing) {