diff --git a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java index 14e3fa6fa4..45d532ddd6 100644 --- a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java +++ b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java @@ -360,6 +360,9 @@ public class ActivityAllAppsContainerView mAH.get(i).mRecyclerView.scrollToTop(); } } + if (mTouchHandler != null) { + mTouchHandler.endFastScrolling(); + } if (mHeader != null && mHeader.getVisibility() == VISIBLE) { mHeader.reset(animate); } diff --git a/src/com/android/launcher3/views/RecyclerViewFastScroller.java b/src/com/android/launcher3/views/RecyclerViewFastScroller.java index 3af2e3c9dc..ead6886e5a 100644 --- a/src/com/android/launcher3/views/RecyclerViewFastScroller.java +++ b/src/com/android/launcher3/views/RecyclerViewFastScroller.java @@ -283,15 +283,7 @@ public class RecyclerViewFastScroller extends View { break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: - mRv.onFastScrollCompleted(); - mTouchOffsetY = 0; - mLastTouchY = 0; - mIgnoreDragGesture = false; - if (mIsDragging) { - mIsDragging = false; - animatePopupVisibility(false); - showActiveScrollbar(false); - } + endFastScrolling(); break; } if (DEBUG) { @@ -330,6 +322,19 @@ public class RecyclerViewFastScroller extends View { setThumbOffsetY((int) mLastTouchY); } + /** End any active fast scrolling touch handling, if applicable. */ + public void endFastScrolling() { + mRv.onFastScrollCompleted(); + mTouchOffsetY = 0; + mLastTouchY = 0; + mIgnoreDragGesture = false; + if (mIsDragging) { + mIsDragging = false; + animatePopupVisibility(false); + showActiveScrollbar(false); + } + } + public void onDraw(Canvas canvas) { if (mThumbOffsetY < 0) { return;