From 25ab3d94387597a24619723df687214320f17e76 Mon Sep 17 00:00:00 2001 From: Adrian Roos Date: Thu, 17 Apr 2014 15:46:41 +0200 Subject: [PATCH] Fix broken status bar when activity is showing above keyguard Bug: 14077213 Change-Id: I5d45fd1780498983995a469d0799e024ca25f3c7 --- .../phone/StatusBarKeyguardViewManager.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) 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 41b5b7c94448b..460f122325179 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java @@ -56,6 +56,7 @@ public class StatusBarKeyguardViewManager { private boolean mScreenOn = false; private KeyguardBouncer mBouncer; private boolean mShowing; + private boolean mOccluded = false; public StatusBarKeyguardViewManager(Context context, ViewMediatorCallback callback, LockPatternUtils lockPatternUtils) { @@ -102,8 +103,10 @@ public class StatusBarKeyguardViewManager { } public void showBouncer() { - mBouncer.show(); - updateBackButtonState(); + if (!mOccluded) { + mBouncer.show(); + updateBackButtonState(); + } } /** @@ -152,6 +155,13 @@ public class StatusBarKeyguardViewManager { } public void setOccluded(boolean occluded) { + mOccluded = occluded; + if (occluded) { + mPhoneStatusBar.hideKeyguard(); + mBouncer.hide(); + } else { + showBouncerOrKeyguard(); + } mStatusBarWindowManager.setKeyguardOccluded(occluded); }