From beac1064f16085674f37a34acb721d02523732bc Mon Sep 17 00:00:00 2001 From: Craig Mautner Date: Tue, 3 Jun 2014 14:38:57 -0700 Subject: [PATCH] Layout keyguard according to flags. Keyguard layout was being skipped because the previous policy does not layout the status bar. This change lays out the status bar when it is serving as the keyguard. This change then allows the keyguard insets to be resized to make room for the IME when password security is selected. Fixes bug 14548156. Change-Id: Ice4f1072b463a22ec763a0cde69f342206bdd15a --- policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 30282dd19670..3146e162d86d 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -3000,7 +3000,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { public void layoutWindowLw(WindowState win, WindowManager.LayoutParams attrs, WindowState attached) { // we've already done the status bar - if (win == mStatusBar || win == mNavigationBar) { + if ((win == mStatusBar && !doesForceHide(attrs)) || win == mNavigationBar) { return; } final boolean isDefaultDisplay = win.isDefaultDisplay(); @@ -3278,7 +3278,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { = mOverscanScreenTop + mOverscanScreenHeight; } else if (canHideNavigationBar() && (sysUiFl & View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION) != 0 - && (attrs.type == TYPE_TOAST + && (attrs.type == TYPE_STATUS_BAR + || attrs.type == TYPE_TOAST || (attrs.type >= WindowManager.LayoutParams.FIRST_APPLICATION_WINDOW && attrs.type <= WindowManager.LayoutParams.LAST_SUB_WINDOW))) { // Asking for layout as if the nav bar is hidden, lets the -- 2.11.0