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

Commit 4eb1a4e0 authored by Hyunyoung Song's avatar Hyunyoung Song
Browse files

Revert "Apply transformations while offsetting focused rects"

b/27335262

This reverts commit 83e725da.

Change-Id: I55079bbaab81610e9de3a8d68ed21cf352da5983
parent 839ff816
Loading
Loading
Loading
Loading
+8 −42
Original line number Original line Diff line number Diff line
@@ -5357,9 +5357,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
    void offsetRectBetweenParentAndChild(View descendant, Rect rect,
    void offsetRectBetweenParentAndChild(View descendant, Rect rect,
            boolean offsetFromChildToParent, boolean clipToBounds) {
            boolean offsetFromChildToParent, boolean clipToBounds) {


        final RectF rectF = mAttachInfo != null ? mAttachInfo.mTmpTransformRect1 : new RectF();
        final Matrix inverse = mAttachInfo != null ? mAttachInfo.mTmpMatrix : new Matrix();

        // already in the same coord system :)
        // already in the same coord system :)
        if (descendant == this) {
        if (descendant == this) {
            return;
            return;
@@ -5373,16 +5370,8 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
                && (theParent != this)) {
                && (theParent != this)) {


            if (offsetFromChildToParent) {
            if (offsetFromChildToParent) {
                rect.offset(-descendant.mScrollX, -descendant.mScrollY);
                rect.offset(descendant.mLeft - descendant.mScrollX,

                        descendant.mTop - descendant.mScrollY);
                if (!descendant.hasIdentityMatrix()) {
                    rectF.set(rect);
                    descendant.getMatrix().mapRect(rectF);
                    rectF.roundOut(rect);
                }

                rect.offset(descendant.mLeft, descendant.mTop);

                if (clipToBounds) {
                if (clipToBounds) {
                    View p = (View) theParent;
                    View p = (View) theParent;
                    boolean intersected = rect.intersect(0, 0, p.mRight - p.mLeft,
                    boolean intersected = rect.intersect(0, 0, p.mRight - p.mLeft,
@@ -5400,16 +5389,8 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
                        rect.setEmpty();
                        rect.setEmpty();
                    }
                    }
                }
                }
                rect.offset(-descendant.mLeft, -descendant.mTop);
                rect.offset(descendant.mScrollX - descendant.mLeft,

                        descendant.mScrollY - descendant.mTop);
                if (!descendant.hasIdentityMatrix()) {
                    descendant.getMatrix().invert(inverse);
                    rectF.set(rect);
                    inverse.mapRect(rectF);
                    rectF.roundOut(rect);
                }

                rect.offset(descendant.mScrollX, descendant.mScrollY);
            }
            }


            descendant = (View) theParent;
            descendant = (View) theParent;
@@ -5420,26 +5401,11 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
        // to get into our coordinate space
        // to get into our coordinate space
        if (theParent == this) {
        if (theParent == this) {
            if (offsetFromChildToParent) {
            if (offsetFromChildToParent) {
                rect.offset(-descendant.mScrollX, -descendant.mScrollY);
                rect.offset(descendant.mLeft - descendant.mScrollX,

                        descendant.mTop - descendant.mScrollY);
                if (!descendant.hasIdentityMatrix()) {
                    rectF.set(rect);
                    descendant.getMatrix().mapRect(rectF);
                    rectF.roundOut(rect);
                }

                rect.offset(descendant.mLeft, descendant.mTop);
            } else {
            } else {
                rect.offset(-descendant.mLeft, -descendant.mTop);
                rect.offset(descendant.mScrollX - descendant.mLeft,

                        descendant.mScrollY - descendant.mTop);
                if (!descendant.hasIdentityMatrix()) {
                    descendant.getMatrix().invert(inverse);
                    rectF.set(rect);
                    inverse.mapRect(rectF);
                    rectF.roundOut(rect);
                }

                rect.offset(descendant.mScrollX, descendant.mScrollY);
            }
            }
        } else {
        } else {
            throw new IllegalArgumentException("parameter must be a descendant of this view");
            throw new IllegalArgumentException("parameter must be a descendant of this view");