diff options
author | Jorge Ruesga <jorge@ruesga.com> | 2015-09-13 21:12:51 +0200 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2016-02-01 16:36:50 -0800 |
commit | d9cdda18d154ac3d2d1f3e37fa36fd14aee360df (patch) | |
tree | 9c6704a35fda176b48fca06c2b6f20d7aa1f57fb | |
parent | 075b3cc5b2225b9fa0a4db16627903fff41ea6a0 (diff) | |
download | frameworks_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.java | 11 |
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; |