summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/BaseRecyclerView.java
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2018-03-01 16:29:15 -0800
committerSunny Goyal <sunnygoyal@google.com>2018-03-06 11:41:43 -0800
commit3661bfac0b810132c44df6c910f5374e76213004 (patch)
tree85c13e8730794f1436f743b10809b9da331e8780 /src/com/android/launcher3/BaseRecyclerView.java
parent46d259d9fb7b918ee5fee773ee615dd9111aa89f (diff)
downloadandroid_packages_apps_Trebuchet-3661bfac0b810132c44df6c910f5374e76213004.tar.gz
android_packages_apps_Trebuchet-3661bfac0b810132c44df6c910f5374e76213004.tar.bz2
android_packages_apps_Trebuchet-3661bfac0b810132c44df6c910f5374e76213004.zip
Fixing fast scroller touch handling in all-apps and widget sheet
Also removing scrim view, instead drawing the scrim manually Bug: 73085356 Change-Id: I188c6c9b1685e22d5d97b38dd5d3e960b655c9ba
Diffstat (limited to 'src/com/android/launcher3/BaseRecyclerView.java')
-rw-r--r--src/com/android/launcher3/BaseRecyclerView.java45
1 files changed, 3 insertions, 42 deletions
diff --git a/src/com/android/launcher3/BaseRecyclerView.java b/src/com/android/launcher3/BaseRecyclerView.java
index cc1326338..74b9cfaf3 100644
--- a/src/com/android/launcher3/BaseRecyclerView.java
+++ b/src/com/android/launcher3/BaseRecyclerView.java
@@ -33,8 +33,7 @@ import com.android.launcher3.views.RecyclerViewFastScroller;
* <li> Enable fast scroller.
* </ul>
*/
-public abstract class BaseRecyclerView extends RecyclerView
- implements RecyclerView.OnItemTouchListener {
+public abstract class BaseRecyclerView extends RecyclerView {
protected RecyclerViewFastScroller mScrollbar;
@@ -51,12 +50,6 @@ public abstract class BaseRecyclerView extends RecyclerView
}
@Override
- protected void onFinishInflate() {
- super.onFinishInflate();
- addOnItemTouchListener(this);
- }
-
- @Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
bindFastScrollbar();
@@ -69,40 +62,8 @@ public abstract class BaseRecyclerView extends RecyclerView
onUpdateScrollbar(0);
}
- /**
- * We intercept the touch handling only to support fast scrolling when initiated from the
- * scroll bar. Otherwise, we fall back to the default RecyclerView touch handling.
- */
- @Override
- public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent ev) {
- return handleTouchEvent(ev);
- }
-
- @Override
- public void onTouchEvent(RecyclerView rv, MotionEvent ev) {
- handleTouchEvent(ev);
- }
-
- /**
- * Handles the touch event and determines whether to show the fast scroller (or updates it if
- * it is already showing).
- */
- private boolean handleTouchEvent(MotionEvent ev) {
- // Move to mScrollbar's coordinate system.
- // We need to take parent into account (view pager's location)
- ViewGroup parent = (ViewGroup) getParent();
- int left = parent.getLeft() - mScrollbar.getLeft();
- int top = parent.getTop() + getTop() - mScrollbar.getTop() - getScrollBarTop();
- ev.offsetLocation(left, top);
- try {
- return mScrollbar.handleTouchEvent(ev);
- } finally {
- ev.offsetLocation(-left, -top);
- }
- }
-
- public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
- // DO NOT REMOVE, NEEDED IMPLEMENTATION FOR M BUILDS
+ public RecyclerViewFastScroller getScrollbar() {
+ return mScrollbar;
}
public int getScrollBarTop() {