Skip to content

Commit 68b1405

Browse files
Fabrice Di MeglioAndroid (Google) Code Review
authored andcommitted
Merge "Revert "Fix bug #7325234 LayoutParams are not resolved correctly (Settings apps looks broken on Manta in Arabic)"" into jb-mr1-dev
2 parents 319c7e8 + bb4b601 commit 68b1405

8 files changed

Lines changed: 4 additions & 38 deletions

File tree

core/java/android/view/ViewGroup.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4816,8 +4816,6 @@ protected void measureChildWithMargins(View child,
48164816
int parentWidthMeasureSpec, int widthUsed,
48174817
int parentHeightMeasureSpec, int heightUsed) {
48184818
final MarginLayoutParams lp = (MarginLayoutParams) child.getLayoutParams();
4819-
final int layoutDirection = getLayoutDirection();
4820-
lp.resolveLayoutDirection(layoutDirection);
48214819

48224820
final int childWidthMeasureSpec = getChildMeasureSpec(parentWidthMeasureSpec,
48234821
mPaddingLeft + mPaddingRight + lp.leftMargin + lp.rightMargin

core/java/android/widget/FrameLayout.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -304,16 +304,11 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
304304
int maxWidth = 0;
305305
int childState = 0;
306306

307-
final int layoutDirection = getLayoutDirection();
308-
309307
for (int i = 0; i < count; i++) {
310308
final View child = getChildAt(i);
311309
if (mMeasureAllChildren || child.getVisibility() != GONE) {
312310
measureChildWithMargins(child, widthMeasureSpec, 0, heightMeasureSpec, 0);
313-
// measureChildWithMargins() has triggered layout params resolution, so no need
314-
// to do it now
315311
final LayoutParams lp = (LayoutParams) child.getLayoutParams();
316-
317312
maxWidth = Math.max(maxWidth,
318313
child.getMeasuredWidth() + lp.leftMargin + lp.rightMargin);
319314
maxHeight = Math.max(maxHeight,

core/java/android/widget/LinearLayout.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -648,8 +648,6 @@ void measureVertical(int widthMeasureSpec, int heightMeasureSpec) {
648648

649649
int largestChildHeight = Integer.MIN_VALUE;
650650

651-
final int layoutDirection = getLayoutDirection();
652-
653651
// See how tall everyone is. Also remember max width.
654652
for (int i = 0; i < count; ++i) {
655653
final View child = getVirtualChildAt(i);
@@ -669,7 +667,6 @@ void measureVertical(int widthMeasureSpec, int heightMeasureSpec) {
669667
}
670668

671669
LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) child.getLayoutParams();
672-
lp.resolveLayoutDirection(layoutDirection);
673670

674671
totalWeight += lp.weight;
675672

@@ -992,8 +989,6 @@ void measureHorizontal(int widthMeasureSpec, int heightMeasureSpec) {
992989

993990
int largestChildWidth = Integer.MIN_VALUE;
994991

995-
final int layoutDirection = getLayoutDirection();
996-
997992
// See how wide everyone is. Also remember max height.
998993
for (int i = 0; i < count; ++i) {
999994
final View child = getVirtualChildAt(i);
@@ -1014,7 +1009,6 @@ void measureHorizontal(int widthMeasureSpec, int heightMeasureSpec) {
10141009

10151010
final LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams)
10161011
child.getLayoutParams();
1017-
lp.resolveLayoutDirection(layoutDirection);
10181012

10191013
totalWeight += lp.weight;
10201014

core/java/android/widget/RelativeLayout.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -414,15 +414,12 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
414414
final boolean isWrapContentWidth = widthMode != MeasureSpec.EXACTLY;
415415
final boolean isWrapContentHeight = heightMode != MeasureSpec.EXACTLY;
416416

417-
final int layoutDirection = getLayoutDirection();
418-
419417
View[] views = mSortedHorizontalChildren;
420418
int count = views.length;
421419
for (int i = 0; i < count; i++) {
422420
View child = views[i];
423421
if (child.getVisibility() != GONE) {
424422
LayoutParams params = (LayoutParams) child.getLayoutParams();
425-
params.resolveLayoutDirection(layoutDirection);
426423

427424
applyHorizontalSizeRules(params, myWidth);
428425
measureChildHorizontal(child, params, myWidth, myHeight);
@@ -486,6 +483,8 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
486483
}
487484
}
488485

486+
final int layoutDirection = getLayoutDirection();
487+
489488
if (isWrapContentWidth) {
490489
// Width already has left padding in it since it was calculated by looking at
491490
// the right of each child view
@@ -730,7 +729,6 @@ private boolean positionChildHorizontal(View child, LayoutParams params, int myW
730729

731730
final int layoutDirection = getLayoutDirection();
732731
int[] rules = params.getRules(layoutDirection);
733-
params.resolveLayoutDirection(layoutDirection);
734732

735733
if (params.mLeft < 0 && params.mRight >= 0) {
736734
// Right is fixed, but left varies
@@ -984,7 +982,6 @@ protected void onLayout(boolean changed, int l, int t, int r, int b) {
984982
if (child.getVisibility() != GONE) {
985983
RelativeLayout.LayoutParams st =
986984
(RelativeLayout.LayoutParams) child.getLayoutParams();
987-
st.resolveLayoutDirection(getLayoutDirection());
988985
child.layout(st.mLeft, st.mTop, st.mRight, st.mBottom);
989986
}
990987
}

core/java/android/widget/ScrollView.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -329,13 +329,11 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
329329
return;
330330
}
331331

332-
final int layoutDirection = getLayoutDirection();
333332
if (getChildCount() > 0) {
334333
final View child = getChildAt(0);
335334
int height = getMeasuredHeight();
336335
if (child.getMeasuredHeight() < height) {
337336
final FrameLayout.LayoutParams lp = (LayoutParams) child.getLayoutParams();
338-
lp.resolveLayoutDirection(layoutDirection);
339337

340338
int childWidthMeasureSpec = getChildMeasureSpec(widthMeasureSpec,
341339
mPaddingLeft + mPaddingRight, lp.width);

core/java/android/widget/TableRow.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -192,9 +192,7 @@ void measureChildBeforeLayout(View child, int childIndex,
192192
int widthMeasureSpec, int totalWidth,
193193
int heightMeasureSpec, int totalHeight) {
194194
if (mConstrainedColumnWidths != null) {
195-
final int layoutDirection = getLayoutDirection();
196195
final LayoutParams lp = (LayoutParams) child.getLayoutParams();
197-
lp.resolveLayoutDirection(layoutDirection);
198196

199197
int measureMode = MeasureSpec.EXACTLY;
200198
int columnWidth = 0;
@@ -228,6 +226,7 @@ void measureChildBeforeLayout(View child, int childIndex,
228226
final int childWidth = child.getMeasuredWidth();
229227
lp.mOffset[LayoutParams.LOCATION_NEXT] = columnWidth - childWidth;
230228

229+
final int layoutDirection = getLayoutDirection();
231230
final int absoluteGravity = Gravity.getAbsoluteGravity(gravity, layoutDirection);
232231
switch (absoluteGravity & Gravity.HORIZONTAL_GRAVITY_MASK) {
233232
case Gravity.LEFT:
@@ -293,13 +292,11 @@ int[] getColumnsWidths(int widthMeasureSpec) {
293292
}
294293

295294
final int[] columnWidths = mColumnWidths;
296-
final int layoutDirection = getLayoutDirection();
297295

298296
for (int i = 0; i < numColumns; i++) {
299297
final View child = getVirtualChildAt(i);
300298
if (child != null && child.getVisibility() != GONE) {
301299
final LayoutParams layoutParams = (LayoutParams) child.getLayoutParams();
302-
layoutParams.resolveLayoutDirection(layoutDirection);
303300
if (layoutParams.span == 1) {
304301
int spec;
305302
switch (layoutParams.width) {

core/java/com/android/internal/widget/ActionBarContextView.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -343,11 +343,9 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
343343
final int height = maxHeight - verticalPadding;
344344
final int childSpecHeight = MeasureSpec.makeMeasureSpec(height, MeasureSpec.AT_MOST);
345345

346-
final int layoutDirection = getLayoutDirection();
347346
if (mClose != null) {
348347
availableWidth = measureChildView(mClose, availableWidth, childSpecHeight, 0);
349348
MarginLayoutParams lp = (MarginLayoutParams) mClose.getLayoutParams();
350-
lp.resolveLayoutDirection(layoutDirection);
351349
availableWidth -= lp.leftMargin + lp.rightMargin;
352350
}
353351

core/java/com/android/internal/widget/ActionBarView.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -946,9 +946,6 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
946946
final ActionBar.LayoutParams ablp = lp instanceof ActionBar.LayoutParams ?
947947
(ActionBar.LayoutParams) lp : null;
948948

949-
final int layoutDirection = getLayoutDirection();
950-
lp.resolveLayoutDirection(layoutDirection);
951-
952949
int horizontalMargin = 0;
953950
int verticalMargin = 0;
954951
if (ablp != null) {
@@ -1099,9 +1096,8 @@ protected void onLayout(boolean changed, int l, int t, int r, int b) {
10991096
customView = mCustomNavView;
11001097
}
11011098
if (customView != null) {
1102-
ViewGroup.LayoutParams lp = customView.getLayoutParams();
11031099
final int layoutDirection = getLayoutDirection();
1104-
lp.resolveLayoutDirection(layoutDirection);
1100+
ViewGroup.LayoutParams lp = customView.getLayoutParams();
11051101
final ActionBar.LayoutParams ablp = lp instanceof ActionBar.LayoutParams ?
11061102
(ActionBar.LayoutParams) lp : null;
11071103
final int gravity = ablp != null ? ablp.gravity : DEFAULT_CUSTOM_GRAVITY;
@@ -1339,15 +1335,11 @@ public int getStartOffset() {
13391335
@Override
13401336
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
13411337
measureChildWithMargins(mUpView, widthMeasureSpec, 0, heightMeasureSpec, 0);
1342-
// measureChildWithMargins() has triggered layout params resolution, so no need
1343-
// to do it now
13441338
final LayoutParams upLp = (LayoutParams) mUpView.getLayoutParams();
13451339
mUpWidth = upLp.leftMargin + mUpView.getMeasuredWidth() + upLp.rightMargin;
13461340
int width = mUpView.getVisibility() == GONE ? 0 : mUpWidth;
13471341
int height = upLp.topMargin + mUpView.getMeasuredHeight() + upLp.bottomMargin;
13481342
measureChildWithMargins(mIconView, widthMeasureSpec, width, heightMeasureSpec, 0);
1349-
// measureChildWithMargins() has triggered layout params resolution, so no need
1350-
// to do it now
13511343
final LayoutParams iconLp = (LayoutParams) mIconView.getLayoutParams();
13521344
width += iconLp.leftMargin + mIconView.getMeasuredWidth() + iconLp.rightMargin;
13531345
height = Math.max(height,
@@ -1387,12 +1379,10 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
13871379
protected void onLayout(boolean changed, int l, int t, int r, int b) {
13881380
final int vCenter = (b - t) / 2;
13891381
final boolean isLayoutRtl = isLayoutRtl();
1390-
final int layoutDirection = getLayoutDirection();
13911382
final int width = getWidth();
13921383
int upOffset = 0;
13931384
if (mUpView.getVisibility() != GONE) {
13941385
final LayoutParams upLp = (LayoutParams) mUpView.getLayoutParams();
1395-
upLp.resolveLayoutDirection(layoutDirection);
13961386
final int upHeight = mUpView.getMeasuredHeight();
13971387
final int upWidth = mUpView.getMeasuredWidth();
13981388
upOffset = upLp.leftMargin + upWidth + upLp.rightMargin;
@@ -1413,7 +1403,6 @@ protected void onLayout(boolean changed, int l, int t, int r, int b) {
14131403
}
14141404

14151405
final LayoutParams iconLp = (LayoutParams) mIconView.getLayoutParams();
1416-
iconLp.resolveLayoutDirection(layoutDirection);
14171406
final int iconHeight = mIconView.getMeasuredHeight();
14181407
final int iconWidth = mIconView.getMeasuredWidth();
14191408
final int hCenter = (r - l) / 2;

0 commit comments

Comments
 (0)