Merge "Disabling fast scroller when searching apps." into ub-launcher3-burnaby-polish

This commit is contained in:
Winson Chung
2015-09-03 21:07:24 +00:00
committed by Android (Google) Code Review
3 changed files with 16 additions and 1 deletions
@@ -267,6 +267,13 @@ public abstract class BaseRecyclerView extends RecyclerView
mScrollbar.setThumbOffset(scrollBarX, scrollBarY);
}
/**
* Returns whether fast scrolling is supported in the current state.
*/
protected boolean supportsFastScrolling() {
return true;
}
/**
* Maps the touch (from 0..1) to the adapter position that should be visible.
* <p>Override in each subclass of this base class.
@@ -189,7 +189,8 @@ public class BaseRecyclerViewFastScrollBar {
// Check if we should start scrolling, but ignore this fastscroll gesture if we have
// exceeded some fixed movement
mIgnoreDragGesture |= Math.abs(y - downY) > config.getScaledPagingTouchSlop();
if (!mIsDragging && !mIgnoreDragGesture && isNearThumb(downX, lastY) &&
if (!mIsDragging && !mIgnoreDragGesture && mRv.supportsFastScrolling() &&
isNearThumb(downX, lastY) &&
Math.abs(y - downY) > config.getScaledTouchSlop()) {
mRv.getParent().requestDisallowInterceptTouchEvent(true);
mIsDragging = true;
@@ -431,6 +431,13 @@ public class AllAppsRecyclerView extends BaseRecyclerView
}
}
@Override
protected boolean supportsFastScrolling() {
// Only allow fast scrolling when the user is not searching, since the results are not
// grouped in a meaningful order
return !mApps.hasFilter();
}
/**
* Returns the scrollY for the given position in the adapter.
*/