diff options
| author | 2016-11-15 15:24:26 -0800 | |
|---|---|---|
| committer | 2016-11-15 15:24:26 -0800 | |
| commit | bb336699bd7127742d43db4e2bed9c60220d0620 (patch) | |
| tree | d5bb26ec4f787c797e5a29ba78cbbddd2040fcce | |
| parent | af221d16de434c3550cb4e645135e95992ce1203 (diff) | |
Fix Keyboard flicker
Bouncer should not be focusable if we are on Keyguard and not
occluded, and we don't need the IME. Otherwise, we'd see a flicker
of the IME animating out when the bouncer comes up on pattern/PIN
screens.
Test: Set pattern, open app with IME open, lock screen, dismiss
Keyguard.
Test: Set password, dismiss Keyguard.
Bug: 32894573
Change-Id: I25da76b66b1cd5722d5929bb2d2658282faef517
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java | 3 |
1 files changed, 2 insertions, 1 deletions
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 4a2d5dcda967..ff00c6293baf 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java @@ -137,7 +137,8 @@ public class StatusBarWindowManager implements RemoteInputController.Callback { private void applyFocusableFlag(State state) { boolean panelFocusable = state.statusBarFocusable && state.panelExpanded; - if (state.bouncerShowing || BaseStatusBar.ENABLE_REMOTE_INPUT && state.remoteInputActive) { + if (state.bouncerShowing && (state.keyguardOccluded || state.keyguardNeedsInput) + || BaseStatusBar.ENABLE_REMOTE_INPUT && state.remoteInputActive) { mLpChanged.flags &= ~WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; mLpChanged.flags &= ~WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM; } else if (state.isKeyguardShowingAndNotOccluded() || panelFocusable) { |