Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b260f353 authored by Romain Guy's avatar Romain Guy Committed by Android (Google) Code Review
Browse files

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

parents b0e0c1c0 2440e670
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
+10 −5
Original line number Diff line number Diff line
@@ -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;