Fix Keyboard over Keyguard when password is set.
Bug: 14842750
Change-Id: Ie7d92ee60191f8083c8ff65aba3754c71e4a5819
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 8809d18..46a637b 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 @@
}
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 @@
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 @@
boolean statusBarExpanded;
boolean statusBarFocusable;
long keyguardUserActivityTimeout;
+ boolean bouncerShowing;
/**
* The {@link BaseStatusBar} state from the status bar.