diff options
author | John Spurlock <jspurlock@google.com> | 2013-10-14 21:06:52 -0400 |
---|---|---|
committer | John Spurlock <jspurlock@google.com> | 2013-10-14 21:06:52 -0400 |
commit | f8508272adb93b5377edfeb69e85442c3d9ed6d2 (patch) | |
tree | af6412616cf09f67c68acbae62e709ee02539b84 | |
parent | 774e8ad88331f82994e38d721418da556ce9edea (diff) | |
download | frameworks_base-f8508272adb93b5377edfeb69e85442c3d9ed6d2.zip frameworks_base-f8508272adb93b5377edfeb69e85442c3d9ed6d2.tar.gz frameworks_base-f8508272adb93b5377edfeb69e85442c3d9ed6d2.tar.bz2 |
Give IMEs the entire screen to use for measuring purposes.
IMEs recently gained the ability to layout out under the nav bar,
but our core measuring logic does not give height=WRAP_CONTENT windows
the entire screen height when computing desired window height.
Since IMEs can be identified by type, let them use the entire screen
height for measuring purposes, to properly handle the cases where
space is constrained, making that unaccounted-for nav bar height
important.
Bug:11215678
Change-Id: I1d0b73454c0c629e7d669b9de70641c7e8c4d333
-rw-r--r-- | core/java/android/view/ViewRootImpl.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index c86bc45..9461068 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -1179,7 +1179,8 @@ public final class ViewRootImpl implements ViewParent, mFullRedrawNeeded = true; mLayoutRequested = true; - if (lp.type == WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL) { + if (lp.type == WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL + || lp.type == WindowManager.LayoutParams.TYPE_INPUT_METHOD) { // NOTE -- system code, won't try to do compat mode. Point size = new Point(); mDisplay.getRealSize(size); @@ -1273,7 +1274,8 @@ public final class ViewRootImpl implements ViewParent, || lp.height == ViewGroup.LayoutParams.WRAP_CONTENT) { windowSizeMayChange = true; - if (lp.type == WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL) { + if (lp.type == WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL + || lp.type == WindowManager.LayoutParams.TYPE_INPUT_METHOD) { // NOTE -- system code, won't try to do compat mode. Point size = new Point(); mDisplay.getRealSize(size); |