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

Commit e33f8259 authored by Adam Cohen's avatar Adam Cohen Committed by Android Git Automerger
Browse files

am 5c6474da: Merge "Fix problem with where PagedView could get stuck (issue...

am 5c6474da: Merge "Fix problem with where PagedView could get stuck (issue 11314889)" into jb-ub-now-jetsonic

* commit '5c6474da':
  Fix problem with where PagedView could get stuck (issue 11314889)
parents ec2247fb 5c6474da
Loading
Loading
Loading
Loading
+17 −9
Original line number Diff line number Diff line
@@ -152,6 +152,8 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc

    protected int mTouchState = TOUCH_STATE_REST;
    protected boolean mForceScreenScrolled = false;
    private boolean mScrollAbortedFromIntercept = false;


    protected OnLongClickListener mLongClickListener;

@@ -1368,6 +1370,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
                final boolean finishedScrolling = (mScroller.isFinished() || xDist < mTouchSlop);
                if (finishedScrolling) {
                    mTouchState = TOUCH_STATE_REST;
                    mScrollAbortedFromIntercept = true;
                    abortScrollerAnimation(false);
                } else {
                    if (isTouchPointInViewportWithBuffer((int) mDownMotionX, (int) mDownMotionY)) {
@@ -1395,6 +1398,9 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc

            case MotionEvent.ACTION_UP:
            case MotionEvent.ACTION_CANCEL:
                if (mScrollAbortedFromIntercept) {
                    snapToDestination();
                }
                resetTouchState();
                break;

@@ -1871,15 +1877,6 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
                        snapToPageWithVelocity(finalPage, velocityX);
                    } else {
                        snapToDestination();
                    }            } else if (mTouchState == TOUCH_STATE_PREV_PAGE) {
                    // at this point we have not moved beyond the touch slop
                    // (otherwise mTouchState would be TOUCH_STATE_SCROLLING), so
                    // we can just page
                    int nextPage = Math.max(0, mCurrentPage - 1);
                    if (nextPage != mCurrentPage) {
                        snapToPage(nextPage);
                    } else {
                        snapToDestination();
                    }
                } else {
                    if (!mScroller.isFinished()) {
@@ -1894,6 +1891,16 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
                            getScrollY(), vX, 0, Integer.MIN_VALUE, Integer.MAX_VALUE, 0, 0);
                    invalidate();
                }
            } else if (mTouchState == TOUCH_STATE_PREV_PAGE) {
                // at this point we have not moved beyond the touch slop
                // (otherwise mTouchState would be TOUCH_STATE_SCROLLING), so
                // we can just page
                int nextPage = Math.max(0, mCurrentPage - 1);
                if (nextPage != mCurrentPage) {
                    snapToPage(nextPage);
                } else {
                    snapToDestination();
                }
            } else if (mTouchState == TOUCH_STATE_NEXT_PAGE) {
                // at this point we have not moved beyond the touch slop
                // (otherwise mTouchState would be TOUCH_STATE_SCROLLING), so
@@ -1965,6 +1972,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
        releaseVelocityTracker();
        endReordering();
        mCancelTap = false;
        mScrollAbortedFromIntercept = false;
        mTouchState = TOUCH_STATE_REST;
        mActivePointerId = INVALID_POINTER;
    }