diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2018-03-01 16:29:15 -0800 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2018-03-06 11:41:43 -0800 |
commit | 3661bfac0b810132c44df6c910f5374e76213004 (patch) | |
tree | 85c13e8730794f1436f743b10809b9da331e8780 /src/com/android/launcher3/BaseRecyclerView.java | |
parent | 46d259d9fb7b918ee5fee773ee615dd9111aa89f (diff) | |
download | android_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.java | 45 |
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() { |