summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java14
1 files 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 41b5b7c94448..460f12232517 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);
}