diff options
author | Winson <winsonc@google.com> | 2015-09-03 11:46:11 -0700 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2015-09-03 18:49:43 +0000 |
commit | 646c236ad283c44e41747176fe1017d619b92d5a (patch) | |
tree | 6aa893a2ed6f629ba3dfee6ea500c3e2ad6065a6 /src | |
parent | 7412c3cb005c3b3315ddb276386e2115f742d2e0 (diff) | |
download | android_packages_apps_Trebuchet-646c236ad283c44e41747176fe1017d619b92d5a.tar.gz android_packages_apps_Trebuchet-646c236ad283c44e41747176fe1017d619b92d5a.tar.bz2 android_packages_apps_Trebuchet-646c236ad283c44e41747176fe1017d619b92d5a.zip |
Disabling fast scroller when searching apps.
- There is no meaningful order for the app search results since they are ranked.
Bug: 23759082
Change-Id: I0aa4eea68136ea3ecef2a80b20ba7b0d46f0653b
Diffstat (limited to 'src')
3 files changed, 16 insertions, 1 deletions
diff --git a/src/com/android/launcher3/BaseRecyclerView.java b/src/com/android/launcher3/BaseRecyclerView.java index f0d8b3b3d..9d713e338 100644 --- a/src/com/android/launcher3/BaseRecyclerView.java +++ b/src/com/android/launcher3/BaseRecyclerView.java @@ -268,6 +268,13 @@ public abstract class BaseRecyclerView extends RecyclerView } /** + * 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. */ diff --git a/src/com/android/launcher3/BaseRecyclerViewFastScrollBar.java b/src/com/android/launcher3/BaseRecyclerViewFastScrollBar.java index fcee7e8dd..32ea57667 100644 --- a/src/com/android/launcher3/BaseRecyclerViewFastScrollBar.java +++ b/src/com/android/launcher3/BaseRecyclerViewFastScrollBar.java @@ -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; diff --git a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java index 2f66e2cad..10d10f11b 100644 --- a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java +++ b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java @@ -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. */ |