summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJorge Ruesga <jorge@ruesga.com>2015-09-13 21:12:51 +0200
committerGerrit Code Review <gerrit@cyanogenmod.org>2016-02-01 16:36:50 -0800
commitd9cdda18d154ac3d2d1f3e37fa36fd14aee360df (patch)
tree9c6704a35fda176b48fca06c2b6f20d7aa1f57fb
parent075b3cc5b2225b9fa0a4db16627903fff41ea6a0 (diff)
downloadframeworks_base-d9cdda18d154ac3d2d1f3e37fa36fd14aee360df.zip
frameworks_base-d9cdda18d154ac3d2d1f3e37fa36fd14aee360df.tar.gz
frameworks_base-d9cdda18d154ac3d2d1f3e37fa36fd14aee360df.tar.bz2
base: fix window bounds for left hand navigationbar
Currently in left-hand navigationbar mode all drawerlayouts have an inconsistent presentation because the actual window size calculation code only takes into consideration the content view. This problem is not present in the rest of the navigation modes because of the nature of the position of the navigation bar. This patch fix the display and content layouts calculation. To repro just set navigation mode to hand-left and access an app with a drawerlayout (xe:the email app) in landscape mode. Change-Id: I1394f39f4f5e7e6ac50b9558657685e86547acf3 TICKET: CYNGNOS-1748
-rw-r--r--services/core/java/com/android/server/policy/PhoneWindowManager.java11
1 files changed, 8 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index 1b70b2e..58f26fa 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -4499,7 +4499,12 @@ public class PhoneWindowManager implements WindowManagerPolicy {
}
}
- private void applyStableConstraints(int sysui, int fl, Rect r) {
+ private void applyStableConstraints(int sysui, int fl, Rect r, Rect d) {
+ if (mNavigationBarLeftInLandscape) {
+ d.left = r.left;
+ r.left = 0;
+ }
+
if ((sysui & View.SYSTEM_UI_FLAG_LAYOUT_STABLE) != 0) {
// If app is requesting a stable layout, don't let the
// content insets go below the stable values.
@@ -4759,7 +4764,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
cf.right = mRestrictedScreenLeft + mRestrictedScreenWidth;
cf.bottom = mRestrictedScreenTop + mRestrictedScreenHeight;
}
- applyStableConstraints(sysUiFl, fl, cf);
+ applyStableConstraints(sysUiFl, fl, cf, df);
if (adjust != SOFT_INPUT_ADJUST_NOTHING) {
vf.left = mCurLeft;
vf.top = mCurTop;
@@ -4875,7 +4880,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
+ mRestrictedScreenHeight;
}
- applyStableConstraints(sysUiFl, fl, cf);
+ applyStableConstraints(sysUiFl, fl, cf, df);
if (adjust != SOFT_INPUT_ADJUST_NOTHING) {
vf.left = mCurLeft;