diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java | 5 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitor.java | 10 |
2 files changed, 11 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 04124b5c28ad..1d91346673c3 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -2731,7 +2731,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, public void handleSystemNavigationKey(int key) { if (SPEW) Log.d(TAG, "handleSystemNavigationKey: " + key); if (!panelsEnabled() || !mKeyguardMonitor.isDeviceInteractive() - || mKeyguardMonitor.isShowing()) { + || mKeyguardMonitor.isShowing() && !mKeyguardMonitor.isOccluded()) { return; } @@ -4351,7 +4351,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, checkBarModes(); updateMediaMetaData(false, mState != StatusBarState.KEYGUARD); mKeyguardMonitor.notifyKeyguardState(mStatusBarKeyguardViewManager.isShowing(), - mStatusBarKeyguardViewManager.isSecure()); + mStatusBarKeyguardViewManager.isSecure(), + mStatusBarKeyguardViewManager.isOccluded()); Trace.endSection(); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitor.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitor.java index c175180bc997..44816f92b222 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitor.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitor.java @@ -38,6 +38,7 @@ public final class KeyguardMonitor extends KeyguardUpdateMonitorCallback { private int mCurrentUser; private boolean mShowing; private boolean mSecure; + private boolean mOccluded; private boolean mCanSkipBouncer; private boolean mListening; @@ -81,6 +82,10 @@ public final class KeyguardMonitor extends KeyguardUpdateMonitorCallback { return mSecure; } + public boolean isOccluded() { + return mOccluded; + } + public boolean canSkipBouncer() { return mCanSkipBouncer; } @@ -99,10 +104,11 @@ public final class KeyguardMonitor extends KeyguardUpdateMonitorCallback { } } - public void notifyKeyguardState(boolean showing, boolean secure) { - if (mShowing == showing && mSecure == secure) return; + public void notifyKeyguardState(boolean showing, boolean secure, boolean occluded) { + if (mShowing == showing && mSecure == secure && mOccluded == occluded) return; mShowing = showing; mSecure = secure; + mOccluded = occluded; notifyKeyguardChanged(); } |