am 7fbde1e8: resolved conflict for merge of 2c73e08d to master

* commit '7fbde1e83703f800c98c1ef7c543f3146cfa43ef':
  Add outset to decor view measuring
This commit is contained in:
Michael Kolb
2014-04-01 21:13:31 +00:00
committed by Android Git Automerger
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
or a fraction of the screen size in that dimension. -->
<attr name="windowFixedHeightMajor" format="dimension|fraction" />
<attr name="windowOutsetBottom" format="dimension" />
</declare-styleable>
<!-- 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 mFixedHeightMajor;
TypedValue mFixedHeightMinor;
TypedValue mOutsetBottom;
// This is the top-level view of the window, containing the window decor.
private DecorView mDecor;
@@ -2370,7 +2371,6 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
} else {
h = 0;
}
if (h > 0) {
final int heightSize = MeasureSpec.getSize(heightMeasureSpec);
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);
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)) {
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();