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

Commit 76e27f6d authored by Winson Chung's avatar Winson Chung Committed by Android (Google) Code Review
Browse files

Merge "End scroller if it has already reached the final position" into sc-dev

parents 3956b3ea 8542541b
Loading
Loading
Loading
Loading
+19 −18
Original line number Diff line number Diff line
@@ -459,11 +459,6 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou
        }
    }

    // we moved this functionality to a helper function so SmoothPagedView can reuse it
    protected boolean computeScrollHelper() {
        return computeScrollHelper(true);
    }

    protected void announcePageForAccessibility() {
        if (isAccessibilityEnabled(getContext())) {
            // Notify the user when the page changes
@@ -471,7 +466,7 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou
        }
    }

    protected boolean computeScrollHelper(boolean shouldInvalidate) {
    protected boolean computeScrollHelper() {
        if (mScroller.computeScrollOffset()) {
            // Don't bother scrolling if the page does not need to be moved
            int oldPos = mOrientationHandler.getPrimaryScroll(this);
@@ -479,7 +474,7 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou
            if (oldPos != newPos) {
                mOrientationHandler.set(this, VIEW_SCROLL_TO, mScroller.getCurrX());
            }
            if (shouldInvalidate) {

            if (mAllowOverScroll) {
                if (newPos < mMinScroll && oldPos >= mMinScroll) {
                    mEdgeGlowLeft.onAbsorb((int) mScroller.getCurrVelocity());
@@ -490,12 +485,18 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou
                }
            }

                invalidate();
            // If the scroller has scrolled to the final position and there is no edge effect, then
            // finish the scroller to skip waiting for additional settling
            int finalPos = mOrientationHandler.getPrimaryValue(mScroller.getFinalX(),
                    mScroller.getFinalY());
            if (newPos == finalPos && mEdgeGlowLeft.isFinished() && mEdgeGlowRight.isFinished()) {
                mScroller.abortAnimation();
            }

            invalidate();
            return true;
        } else if (mNextPage != INVALID_PAGE && shouldInvalidate) {
        } else if (mNextPage != INVALID_PAGE) {
            sendScrollAccessibilityEvent();

            int prevPage = mCurrentPage;
            mCurrentPage = validateNewPage(mNextPage);
            mNextPage = INVALID_PAGE;
+0 −4
Original line number Diff line number Diff line
@@ -1163,10 +1163,6 @@ public class Workspace extends PagedView<WorkspacePageIndicator>
        mWallpaperOffset.syncWithScroll();
    }

    public void computeScrollWithoutInvalidation() {
        computeScrollHelper(false);
    }

    @Override
    public void announceForAccessibility(CharSequence text) {
        // Don't announce if apps is on top of us.
+1 −1

File changed.

Contains only whitespace changes.