diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java b/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java index 217392204764c..5865e611c44ff 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java @@ -334,4 +334,9 @@ public class QSContainerImpl extends QSContainer { 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 9c1eaa6b79061..20dddab14990a 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) {