From bb336699bd7127742d43db4e2bed9c60220d0620 Mon Sep 17 00:00:00 2001 From: Jorim Jaggi Date: Tue, 15 Nov 2016 15:24:26 -0800 Subject: 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 --- .../com/android/systemui/statusbar/phone/StatusBarWindowManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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) { -- cgit v1.2.3-59-g8ed1b