diff options
author | Michael Kolb <kolby@google.com> | 2014-03-24 16:18:52 -0700 |
---|---|---|
committer | Michael Kolb <kolby@google.com> | 2014-03-31 16:49:55 -0700 |
commit | 5de886a158e449912b21fb27f02bdf67c0c95010 (patch) | |
tree | 4b34eba53b5c151737b446da7940a6be27596584 /policy/src/com/android | |
parent | ecaea7e60c0992ac295163f55c1f986a46eef008 (diff) | |
download | frameworks_base-5de886a158e449912b21fb27f02bdf67c0c95010.zip frameworks_base-5de886a158e449912b21fb27f02bdf67c0c95010.tar.gz frameworks_base-5de886a158e449912b21fb27f02bdf67c0c95010.tar.bz2 |
Add outset to decor view measuring
Change-Id: Ib0e68311ff8ed1fccf9219b28c42ee43c5952050
Diffstat (limited to 'policy/src/com/android')
-rw-r--r-- | policy/src/com/android/internal/policy/impl/PhoneWindow.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindow.java b/policy/src/com/android/internal/policy/impl/PhoneWindow.java index 7c047c3..bed3462 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindow.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindow.java @@ -125,6 +125,7 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { TypedValue mFixedWidthMinor; TypedValue mFixedHeightMajor; TypedValue mFixedHeightMinor; + TypedValue mOutsetBottom; // This is the top-level view of the window, containing the window decor. private DecorView mDecor; @@ -2289,7 +2290,6 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { } else { h = 0; } - if (h > 0) { final int heightSize = MeasureSpec.getSize(heightMeasureSpec); heightMeasureSpec = MeasureSpec.makeMeasureSpec( @@ -2298,6 +2298,15 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { } } + if (mOutsetBottom != null) { + int mode = MeasureSpec.getMode(heightMeasureSpec); + if (mode != MeasureSpec.UNSPECIFIED) { + int outset = (int) mOutsetBottom.getDimension(metrics); + int height = MeasureSpec.getSize(heightMeasureSpec); + heightMeasureSpec = MeasureSpec.makeMeasureSpec(height + outset, mode); + } + } + super.onMeasure(widthMeasureSpec, heightMeasureSpec); int width = getMeasuredWidth(); @@ -2904,6 +2913,10 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { a.getValue(com.android.internal.R.styleable.Window_windowFixedHeightMinor, mFixedHeightMinor); } + if (a.hasValue(com.android.internal.R.styleable.Window_windowOutsetBottom)) { + if (mOutsetBottom == null) mOutsetBottom = new TypedValue(); + a.getValue(com.android.internal.R.styleable.Window_windowOutsetBottom, mOutsetBottom); + } final Context context = getContext(); final int targetSdk = context.getApplicationInfo().targetSdkVersion; |