Loading core/java/android/view/View.java +35 −12 Original line number Diff line number Diff line Loading @@ -2814,18 +2814,18 @@ public class View implements Drawable.Callback, KeyEvent.Callback, int mUserPaddingEnd; /** * Whether a left padding has been defined during layout inflation. * Cache initial left padding. * * @hide */ boolean mUserPaddingLeftDefined = false; int mUserPaddingLeftInitial = UNDEFINED_PADDING; /** * Whether a right padding has been defined during layout inflation. * Cache initial right padding. * * @hide */ boolean mUserPaddingRightDefined = false; int mUserPaddingRightInitial = UNDEFINED_PADDING; /** * Default undefined padding Loading Loading @@ -3247,19 +3247,19 @@ public class View implements Drawable.Callback, KeyEvent.Callback, break; case com.android.internal.R.styleable.View_padding: padding = a.getDimensionPixelSize(attr, -1); mUserPaddingLeftDefined = true; mUserPaddingRightDefined = true; mUserPaddingLeftInitial = padding; mUserPaddingRightInitial = padding; break; case com.android.internal.R.styleable.View_paddingLeft: leftPadding = a.getDimensionPixelSize(attr, -1); mUserPaddingLeftDefined = true; mUserPaddingLeftInitial = leftPadding; break; case com.android.internal.R.styleable.View_paddingTop: topPadding = a.getDimensionPixelSize(attr, -1); break; case com.android.internal.R.styleable.View_paddingRight: rightPadding = a.getDimensionPixelSize(attr, -1); mUserPaddingRightDefined = true; mUserPaddingRightInitial = rightPadding; break; case com.android.internal.R.styleable.View_paddingBottom: bottomPadding = a.getDimensionPixelSize(attr, -1); Loading Loading @@ -3561,15 +3561,19 @@ public class View implements Drawable.Callback, KeyEvent.Callback, topPadding = padding; rightPadding = padding; bottomPadding = padding; mUserPaddingLeftInitial = padding; mUserPaddingRightInitial = padding; } // If the user specified the padding (either with android:padding or // android:paddingLeft/Top/Right/Bottom), use this padding, otherwise // use the default padding or the padding from the background drawable // (stored at this point in mPadding*) internalSetPadding(leftPadding >= 0 ? leftPadding : mPaddingLeft, mUserPaddingLeftInitial = leftPadding >= 0 ? leftPadding : mPaddingLeft; mUserPaddingRightInitial = rightPadding >= 0 ? rightPadding : mPaddingRight; internalSetPadding(mUserPaddingLeftInitial, topPadding >= 0 ? topPadding : mPaddingTop, rightPadding >= 0 ? rightPadding : mPaddingRight, mUserPaddingRightInitial, bottomPadding >= 0 ? bottomPadding : mPaddingBottom); if (viewFlagMasks != 0) { Loading Loading @@ -11540,10 +11544,12 @@ public class View implements Drawable.Callback, KeyEvent.Callback, // left / right padding are used if defined. If they are not defined and start / end // padding are defined (e.g. in Frameworks resources), then we use start / end and // resolve them as left / right (layout direction is not taken into account). if (!mUserPaddingLeftDefined && mUserPaddingStart != UNDEFINED_PADDING) { if (mUserPaddingLeftInitial == UNDEFINED_PADDING && mUserPaddingStart != UNDEFINED_PADDING) { mUserPaddingLeft = mUserPaddingStart; } if (!mUserPaddingRightDefined && mUserPaddingEnd != UNDEFINED_PADDING) { if (mUserPaddingRightInitial == UNDEFINED_PADDING && mUserPaddingEnd != UNDEFINED_PADDING) { mUserPaddingRight = mUserPaddingEnd; } Loading @@ -11557,6 +11563,12 @@ public class View implements Drawable.Callback, KeyEvent.Callback, // left / right or right / left depending on the resolved layout direction. // If start / end padding are not defined, use the left / right ones. int resolvedLayoutDirection = getResolvedLayoutDirection(); // Set user padding to initial values ... mUserPaddingLeft = (mUserPaddingLeftInitial == UNDEFINED_PADDING) ? 0 : mUserPaddingLeftInitial; mUserPaddingRight = (mUserPaddingRightInitial == UNDEFINED_PADDING) ? 0 : mUserPaddingRightInitial; // ... then resolve it. switch (resolvedLayoutDirection) { case LAYOUT_DIRECTION_RTL: if (mUserPaddingStart != UNDEFINED_PADDING) { Loading Loading @@ -14322,10 +14334,14 @@ public class View implements Drawable.Callback, KeyEvent.Callback, mPrivateFlags2 &= ~PFLAG2_PADDING_RESOLVED; switch (background.getLayoutDirection()) { case LAYOUT_DIRECTION_RTL: mUserPaddingLeftInitial = padding.right; mUserPaddingRightInitial = padding.left; internalSetPadding(padding.right, padding.top, padding.left, padding.bottom); break; case LAYOUT_DIRECTION_LTR: default: mUserPaddingLeftInitial = padding.left; mUserPaddingRightInitial = padding.right; internalSetPadding(padding.left, padding.top, padding.right, padding.bottom); } } Loading Loading @@ -14422,6 +14438,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback, mUserPaddingStart = UNDEFINED_PADDING; mUserPaddingEnd = UNDEFINED_PADDING; mUserPaddingLeftInitial = left; mUserPaddingRightInitial = right; internalSetPadding(left, top, right, bottom); } Loading Loading @@ -14511,10 +14530,14 @@ public class View implements Drawable.Callback, KeyEvent.Callback, switch(getResolvedLayoutDirection()) { case LAYOUT_DIRECTION_RTL: mUserPaddingLeftInitial = end; mUserPaddingRightInitial = start; internalSetPadding(end, top, start, bottom); break; case LAYOUT_DIRECTION_LTR: default: mUserPaddingLeftInitial = start; mUserPaddingRightInitial = end; internalSetPadding(start, top, end, bottom); } } Loading
core/java/android/view/View.java +35 −12 Original line number Diff line number Diff line Loading @@ -2814,18 +2814,18 @@ public class View implements Drawable.Callback, KeyEvent.Callback, int mUserPaddingEnd; /** * Whether a left padding has been defined during layout inflation. * Cache initial left padding. * * @hide */ boolean mUserPaddingLeftDefined = false; int mUserPaddingLeftInitial = UNDEFINED_PADDING; /** * Whether a right padding has been defined during layout inflation. * Cache initial right padding. * * @hide */ boolean mUserPaddingRightDefined = false; int mUserPaddingRightInitial = UNDEFINED_PADDING; /** * Default undefined padding Loading Loading @@ -3247,19 +3247,19 @@ public class View implements Drawable.Callback, KeyEvent.Callback, break; case com.android.internal.R.styleable.View_padding: padding = a.getDimensionPixelSize(attr, -1); mUserPaddingLeftDefined = true; mUserPaddingRightDefined = true; mUserPaddingLeftInitial = padding; mUserPaddingRightInitial = padding; break; case com.android.internal.R.styleable.View_paddingLeft: leftPadding = a.getDimensionPixelSize(attr, -1); mUserPaddingLeftDefined = true; mUserPaddingLeftInitial = leftPadding; break; case com.android.internal.R.styleable.View_paddingTop: topPadding = a.getDimensionPixelSize(attr, -1); break; case com.android.internal.R.styleable.View_paddingRight: rightPadding = a.getDimensionPixelSize(attr, -1); mUserPaddingRightDefined = true; mUserPaddingRightInitial = rightPadding; break; case com.android.internal.R.styleable.View_paddingBottom: bottomPadding = a.getDimensionPixelSize(attr, -1); Loading Loading @@ -3561,15 +3561,19 @@ public class View implements Drawable.Callback, KeyEvent.Callback, topPadding = padding; rightPadding = padding; bottomPadding = padding; mUserPaddingLeftInitial = padding; mUserPaddingRightInitial = padding; } // If the user specified the padding (either with android:padding or // android:paddingLeft/Top/Right/Bottom), use this padding, otherwise // use the default padding or the padding from the background drawable // (stored at this point in mPadding*) internalSetPadding(leftPadding >= 0 ? leftPadding : mPaddingLeft, mUserPaddingLeftInitial = leftPadding >= 0 ? leftPadding : mPaddingLeft; mUserPaddingRightInitial = rightPadding >= 0 ? rightPadding : mPaddingRight; internalSetPadding(mUserPaddingLeftInitial, topPadding >= 0 ? topPadding : mPaddingTop, rightPadding >= 0 ? rightPadding : mPaddingRight, mUserPaddingRightInitial, bottomPadding >= 0 ? bottomPadding : mPaddingBottom); if (viewFlagMasks != 0) { Loading Loading @@ -11540,10 +11544,12 @@ public class View implements Drawable.Callback, KeyEvent.Callback, // left / right padding are used if defined. If they are not defined and start / end // padding are defined (e.g. in Frameworks resources), then we use start / end and // resolve them as left / right (layout direction is not taken into account). if (!mUserPaddingLeftDefined && mUserPaddingStart != UNDEFINED_PADDING) { if (mUserPaddingLeftInitial == UNDEFINED_PADDING && mUserPaddingStart != UNDEFINED_PADDING) { mUserPaddingLeft = mUserPaddingStart; } if (!mUserPaddingRightDefined && mUserPaddingEnd != UNDEFINED_PADDING) { if (mUserPaddingRightInitial == UNDEFINED_PADDING && mUserPaddingEnd != UNDEFINED_PADDING) { mUserPaddingRight = mUserPaddingEnd; } Loading @@ -11557,6 +11563,12 @@ public class View implements Drawable.Callback, KeyEvent.Callback, // left / right or right / left depending on the resolved layout direction. // If start / end padding are not defined, use the left / right ones. int resolvedLayoutDirection = getResolvedLayoutDirection(); // Set user padding to initial values ... mUserPaddingLeft = (mUserPaddingLeftInitial == UNDEFINED_PADDING) ? 0 : mUserPaddingLeftInitial; mUserPaddingRight = (mUserPaddingRightInitial == UNDEFINED_PADDING) ? 0 : mUserPaddingRightInitial; // ... then resolve it. switch (resolvedLayoutDirection) { case LAYOUT_DIRECTION_RTL: if (mUserPaddingStart != UNDEFINED_PADDING) { Loading Loading @@ -14322,10 +14334,14 @@ public class View implements Drawable.Callback, KeyEvent.Callback, mPrivateFlags2 &= ~PFLAG2_PADDING_RESOLVED; switch (background.getLayoutDirection()) { case LAYOUT_DIRECTION_RTL: mUserPaddingLeftInitial = padding.right; mUserPaddingRightInitial = padding.left; internalSetPadding(padding.right, padding.top, padding.left, padding.bottom); break; case LAYOUT_DIRECTION_LTR: default: mUserPaddingLeftInitial = padding.left; mUserPaddingRightInitial = padding.right; internalSetPadding(padding.left, padding.top, padding.right, padding.bottom); } } Loading Loading @@ -14422,6 +14438,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback, mUserPaddingStart = UNDEFINED_PADDING; mUserPaddingEnd = UNDEFINED_PADDING; mUserPaddingLeftInitial = left; mUserPaddingRightInitial = right; internalSetPadding(left, top, right, bottom); } Loading Loading @@ -14511,10 +14530,14 @@ public class View implements Drawable.Callback, KeyEvent.Callback, switch(getResolvedLayoutDirection()) { case LAYOUT_DIRECTION_RTL: mUserPaddingLeftInitial = end; mUserPaddingRightInitial = start; internalSetPadding(end, top, start, bottom); break; case LAYOUT_DIRECTION_LTR: default: mUserPaddingLeftInitial = start; mUserPaddingRightInitial = end; internalSetPadding(start, top, end, bottom); } }