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 1194a1d7b3f29..d52180993b336 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -1316,7 +1316,11 @@ public class NotificationPanelView extends PanelView implements } else if (oldState == StatusBarState.SHADE_LOCKED && statusBarState == StatusBarState.KEYGUARD) { animateKeyguardStatusBarIn(StackStateAnimator.ANIMATION_DURATION_STANDARD); - mQs.animateHeaderSlidingOut(); + // Only animate header if the header is visible. If not, it will partially animate out + // the top of QS + if (!mQsExpanded) { + mQs.animateHeaderSlidingOut(); + } } else { mKeyguardStatusBar.setAlpha(1f); mKeyguardStatusBar.setVisibility(keyguardShowing ? View.VISIBLE : View.INVISIBLE); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java index d350c3a7ae966..93168db861be3 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java @@ -661,7 +661,13 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb public boolean onBackPressed(boolean hideImmediately) { if (mBouncer.isShowing()) { mStatusBar.endAffordanceLaunch(); - reset(hideImmediately); + // The second condition is for SIM card locked bouncer + if (mBouncer.isScrimmed() && !mBouncer.needsFullscreenBouncer()) { + hideBouncer(false); + updateStates(); + } else { + reset(hideImmediately); + } return true; } return false;