From 5fd4d05aae4b8b0dc1d1b21a206e218f47b0ea3a Mon Sep 17 00:00:00 2001 From: Jorim Jaggi Date: Tue, 13 May 2014 22:50:20 +0200 Subject: [PATCH] Fix Keyboard over Keyguard when password is set. Bug: 14842750 Change-Id: Ie7d92ee60191f8083c8ff65aba3754c71e4a5819 --- .../statusbar/phone/StatusBarKeyguardViewManager.java | 1 + .../systemui/statusbar/phone/StatusBarWindowManager.java | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) 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 48c54fc7a85f4..b624c96ed9f3e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java @@ -220,6 +220,7 @@ public class StatusBarKeyguardViewManager { mPhoneStatusBar.getNavigationBarView().setVisibility(View.GONE); } } + mStatusBarWindowManager.setBouncerShowing(mBouncer.isShowing()); mPhoneStatusBar.setBouncerShowing(mBouncer.isShowing()); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java index 8809d18cd5b38..46a637b287e1b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java @@ -111,7 +111,8 @@ public class StatusBarWindowManager { } private void applyFocusableFlag(State state) { - if (state.isKeyguardShowingAndNotOccluded() && state.keyguardNeedsInput) { + if (state.isKeyguardShowingAndNotOccluded() && state.keyguardNeedsInput + && state.bouncerShowing) { mLp.flags &= ~WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; mLp.flags &= ~WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM; } else if (state.isKeyguardShowingAndNotOccluded() || state.statusBarFocusable) { @@ -196,6 +197,11 @@ public class StatusBarWindowManager { apply(mCurrentState); } + public void setBouncerShowing(boolean showing) { + mCurrentState.bouncerShowing = showing; + apply(mCurrentState); + } + /** * @param state The {@link StatusBarState} of the status bar. */ @@ -211,6 +217,7 @@ public class StatusBarWindowManager { boolean statusBarExpanded; boolean statusBarFocusable; long keyguardUserActivityTimeout; + boolean bouncerShowing; /** * The {@link BaseStatusBar} state from the status bar.