resolved conflict for merge of 2c73e08d to master

Change-Id: Iee2e1f773469db0ba26b153193945a6c246af151
This commit is contained in:
Michael Kolb
2014-04-01 14:06:11 -07:00
2 changed files with 14 additions and 1 deletions

View File

@@ -1677,6 +1677,7 @@
that is, when in portrait. Can be either an absolute dimension that is, when in portrait. Can be either an absolute dimension
or a fraction of the screen size in that dimension. --> or a fraction of the screen size in that dimension. -->
<attr name="windowFixedHeightMajor" format="dimension|fraction" /> <attr name="windowFixedHeightMajor" format="dimension|fraction" />
<attr name="windowOutsetBottom" format="dimension" />
</declare-styleable> </declare-styleable>
<!-- The set of attributes that describe a AlertDialog's theme. --> <!-- The set of attributes that describe a AlertDialog's theme. -->

View File

@@ -145,6 +145,7 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
TypedValue mFixedWidthMinor; TypedValue mFixedWidthMinor;
TypedValue mFixedHeightMajor; TypedValue mFixedHeightMajor;
TypedValue mFixedHeightMinor; TypedValue mFixedHeightMinor;
TypedValue mOutsetBottom;
// This is the top-level view of the window, containing the window decor. // This is the top-level view of the window, containing the window decor.
private DecorView mDecor; private DecorView mDecor;
@@ -2370,7 +2371,6 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
} else { } else {
h = 0; h = 0;
} }
if (h > 0) { if (h > 0) {
final int heightSize = MeasureSpec.getSize(heightMeasureSpec); final int heightSize = MeasureSpec.getSize(heightMeasureSpec);
heightMeasureSpec = MeasureSpec.makeMeasureSpec( heightMeasureSpec = MeasureSpec.makeMeasureSpec(
@@ -2379,6 +2379,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); super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int width = getMeasuredWidth(); int width = getMeasuredWidth();
@@ -2992,6 +3001,9 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
} }
if (a.getBoolean(com.android.internal.R.styleable.Window_windowContentTransitions, false)) { if (a.getBoolean(com.android.internal.R.styleable.Window_windowContentTransitions, false)) {
requestFeature(FEATURE_CONTENT_TRANSITIONS); requestFeature(FEATURE_CONTENT_TRANSITIONS);
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 Context context = getContext();