diff options
Diffstat (limited to 'src/com/android/launcher3/PagedView.java')
-rw-r--r-- | src/com/android/launcher3/PagedView.java | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java index f9a326f4e..a99c7c28f 100644 --- a/src/com/android/launcher3/PagedView.java +++ b/src/com/android/launcher3/PagedView.java @@ -890,23 +890,7 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou mTotalMotionX = 0; mActivePointerId = ev.getPointerId(0); - /* - * If being flinged and user touches the screen, initiate drag; - * otherwise don't. mScroller.isFinished should be false when - * being flinged. - */ - final int xDist = Math.abs(mScroller.getFinalPos() - mScroller.getCurrPos()); - final boolean finishedScrolling = (mScroller.isFinished() || xDist < mTouchSlop / 3); - - if (finishedScrolling) { - mIsBeingDragged = false; - if (!mScroller.isFinished() && !mFreeScroll) { - setCurrentPage(getNextPage()); - pageEndTransition(); - } - } else { - mIsBeingDragged = true; - } + updateIsBeingDraggedOnTouchDown(); break; } @@ -929,6 +913,25 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou return mIsBeingDragged; } + /** + * If being flinged and user touches the screen, initiate drag; otherwise don't. + */ + private void updateIsBeingDraggedOnTouchDown() { + // mScroller.isFinished should be false when being flinged. + final int xDist = Math.abs(mScroller.getFinalPos() - mScroller.getCurrPos()); + final boolean finishedScrolling = (mScroller.isFinished() || xDist < mTouchSlop / 3); + + if (finishedScrolling) { + mIsBeingDragged = false; + if (!mScroller.isFinished() && !mFreeScroll) { + setCurrentPage(getNextPage()); + pageEndTransition(); + } + } else { + mIsBeingDragged = true; + } + } + public boolean isHandlingTouch() { return mIsBeingDragged; } @@ -1104,6 +1107,8 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou switch (action & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: + updateIsBeingDraggedOnTouchDown(); + /* * If being flinged and user touches, stop the fling. isFinished * will be false if being flinged. |