Merge "Catch padding changes in ViewGroup to properly clip children Bug #6886339" into jb-mr1-dev

This commit is contained in:
Romain Guy
2012-08-07 14:52:34 -07:00
committed by Android (Google) Code Review
2 changed files with 11 additions and 6 deletions

View File

@@ -14107,7 +14107,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
internalSetPadding(left, top, right, bottom);
}
private void internalSetPadding(int left, int top, int right, int bottom) {
void internalSetPadding(int left, int top, int right, int bottom) {
mUserPaddingLeft = left;
mUserPaddingRight = right;
mUserPaddingBottom = bottom;

View File

@@ -170,6 +170,14 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
* This field should be made private, so it is hidden from the SDK.
* {@hide}
*/
@ViewDebug.ExportedProperty(flagMapping = {
@ViewDebug.FlagToString(mask = FLAG_CLIP_CHILDREN, equals = FLAG_CLIP_CHILDREN,
name = "CLIP_CHILDREN"),
@ViewDebug.FlagToString(mask = FLAG_CLIP_TO_PADDING, equals = FLAG_CLIP_TO_PADDING,
name = "CLIP_TO_PADDING"),
@ViewDebug.FlagToString(mask = FLAG_PADDING_NOT_NULL, equals = FLAG_PADDING_NOT_NULL,
name = "PADDING_NOT_NULL")
})
protected int mGroupFlags;
/*
@@ -2509,12 +2517,9 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
super.dispatchDetachedFromWindow();
}
/**
* {@inheritDoc}
*/
@Override
public void setPadding(int left, int top, int right, int bottom) {
super.setPadding(left, top, right, bottom);
void internalSetPadding(int left, int top, int right, int bottom) {
super.internalSetPadding(left, top, right, bottom);
if ((mPaddingLeft | mPaddingTop | mPaddingRight | mPaddingBottom) != 0) {
mGroupFlags |= FLAG_PADDING_NOT_NULL;