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

Commit 937b7ad9 authored by Doris Liu's avatar Doris Liu Committed by Android Git Automerger
Browse files

am 7b554a8f: am 057d9397: Merge "Fix ScrollView\'s EdgeEffect to respect...

am 7b554a8f: am 057d9397: Merge "Fix ScrollView\'s EdgeEffect to respect clipToPadding flag" into mnc-dev

* commit '7b554a8f':
  Fix ScrollView's EdgeEffect to respect clipToPadding flag
parents 33e186c2 7b554a8f
Loading
Loading
Loading
Loading
+35 −9
Original line number Original line Diff line number Diff line
@@ -1704,12 +1704,26 @@ public class ScrollView extends FrameLayout {
        super.draw(canvas);
        super.draw(canvas);
        if (mEdgeGlowTop != null) {
        if (mEdgeGlowTop != null) {
            final int scrollY = mScrollY;
            final int scrollY = mScrollY;
            final boolean clipToPadding = getClipToPadding();
            if (!mEdgeGlowTop.isFinished()) {
            if (!mEdgeGlowTop.isFinished()) {
                final int restoreCount = canvas.save();
                final int restoreCount = canvas.save();
                final int width = getWidth() - mPaddingLeft - mPaddingRight;
                final int width;

                final int height;
                canvas.translate(mPaddingLeft, Math.min(0, scrollY));
                final float translateX;
                mEdgeGlowTop.setSize(width, getHeight());
                final float translateY;
                if (clipToPadding) {
                    width = getWidth() - mPaddingLeft - mPaddingRight;
                    height = getHeight() - mPaddingTop - mPaddingBottom;
                    translateX = mPaddingLeft;
                    translateY = mPaddingTop;
                } else {
                    width = getWidth();
                    height = getHeight();
                    translateX = 0;
                    translateY = 0;
                }
                canvas.translate(translateX, Math.min(0, scrollY) + translateY);
                mEdgeGlowTop.setSize(width, height);
                if (mEdgeGlowTop.draw(canvas)) {
                if (mEdgeGlowTop.draw(canvas)) {
                    postInvalidateOnAnimation();
                    postInvalidateOnAnimation();
                }
                }
@@ -1717,11 +1731,23 @@ public class ScrollView extends FrameLayout {
            }
            }
            if (!mEdgeGlowBottom.isFinished()) {
            if (!mEdgeGlowBottom.isFinished()) {
                final int restoreCount = canvas.save();
                final int restoreCount = canvas.save();
                final int width = getWidth() - mPaddingLeft - mPaddingRight;
                final int width;
                final int height = getHeight();
                final int height;

                final float translateX;
                canvas.translate(-width + mPaddingLeft,
                final float translateY;
                        Math.max(getScrollRange(), scrollY) + height);
                if (clipToPadding) {
                    width = getWidth() - mPaddingLeft - mPaddingRight;
                    height = getHeight() - mPaddingTop - mPaddingBottom;
                    translateX = mPaddingLeft;
                    translateY = mPaddingTop;
                } else {
                    width = getWidth();
                    height = getHeight();
                    translateX = 0;
                    translateY = 0;
                }
                canvas.translate(-width + translateX,
                            Math.max(getScrollRange(), scrollY) + height + translateY);
                canvas.rotate(180, width, 0);
                canvas.rotate(180, width, 0);
                mEdgeGlowBottom.setSize(width, height);
                mEdgeGlowBottom.setSize(width, height);
                if (mEdgeGlowBottom.draw(canvas)) {
                if (mEdgeGlowBottom.draw(canvas)) {