summaryrefslogtreecommitdiffstats
path: root/policy/src/com/android
diff options
context:
space:
mode:
authorMichael Kolb <kolby@google.com>2014-03-24 16:18:52 -0700
committerMichael Kolb <kolby@google.com>2014-03-31 16:49:55 -0700
commit5de886a158e449912b21fb27f02bdf67c0c95010 (patch)
tree4b34eba53b5c151737b446da7940a6be27596584 /policy/src/com/android
parentecaea7e60c0992ac295163f55c1f986a46eef008 (diff)
downloadframeworks_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.java15
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;