summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Spurlock <jspurlock@google.com>2013-10-10 22:10:42 -0400
committerJohn Spurlock <jspurlock@google.com>2013-10-10 22:18:56 -0400
commitf95b89a0971fdfedec9004924615f08d87a6168c (patch)
treec5fee1f8edc4d6dff23ba93a6901c1201ccc9840
parent000bffabb8e49b2f907bdf0bb24c8f224add560f (diff)
downloadframeworks_base-f95b89a0971fdfedec9004924615f08d87a6168c.zip
frameworks_base-f95b89a0971fdfedec9004924615f08d87a6168c.tar.gz
frameworks_base-f95b89a0971fdfedec9004924615f08d87a6168c.tar.bz2
Fix dock rect calculation when nav is translucent.
Make sure the dock rect in PWM takes the nav bar height into account when translucent. This forms the basis of many other window calculations, and has multiple downstream effects. Fixing this exposed the fact that the Keyguard was not allowed to fall into the LAYOUT_HIDE_NAV codepath (since it's not an app window) - so add TYPE_KEYGUARD to that path. Bug:11157555 Change-Id: I6b1fc4da973a246b80ec108a561e06f6d8a6a92b
-rw-r--r--policy/src/com/android/internal/policy/impl/PhoneWindowManager.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
index 225bb94..9d5f50b 100644
--- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
@@ -2737,7 +2737,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
- mNavigationBarHeightForRotation[displayRotation];
mTmpNavigationFrame.set(0, top, displayWidth, displayHeight - overscanBottom);
mStableBottom = mStableFullscreenBottom = mTmpNavigationFrame.top;
- if (transientNavBarShowing || navTranslucent) {
+ if (transientNavBarShowing) {
mNavigationBarController.setBarShowingLw(true);
} else if (navVisible) {
mNavigationBarController.setBarShowingLw(true);
@@ -2761,7 +2761,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
- mNavigationBarWidthForRotation[displayRotation];
mTmpNavigationFrame.set(left, 0, displayWidth - overscanRight, displayHeight);
mStableRight = mStableFullscreenRight = mTmpNavigationFrame.left;
- if (transientNavBarShowing || navTranslucent) {
+ if (transientNavBarShowing) {
mNavigationBarController.setBarShowingLw(true);
} else if (navVisible) {
mNavigationBarController.setBarShowingLw(true);
@@ -3074,8 +3074,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
+ mOverscanScreenHeight;
} else if (canHideNavigationBar()
&& (sysUiFl & View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION) != 0
- && attrs.type >= WindowManager.LayoutParams.FIRST_APPLICATION_WINDOW
- && attrs.type <= WindowManager.LayoutParams.LAST_SUB_WINDOW) {
+ && (attrs.type == WindowManager.LayoutParams.TYPE_KEYGUARD || (
+ 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
// application extend into the unrestricted overscan screen area. We
// only do this for application windows to ensure no window that