summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/launcher3/AppsContainerRecyclerView.java24
-rw-r--r--src/com/android/launcher3/widget/WidgetsContainerRecyclerView.java24
2 files changed, 34 insertions, 14 deletions
diff --git a/src/com/android/launcher3/AppsContainerRecyclerView.java b/src/com/android/launcher3/AppsContainerRecyclerView.java
index da81f58a4..bf478eddd 100644
--- a/src/com/android/launcher3/AppsContainerRecyclerView.java
+++ b/src/com/android/launcher3/AppsContainerRecyclerView.java
@@ -30,6 +30,8 @@ import android.view.MotionEvent;
import android.view.View;
import android.view.ViewConfiguration;
+import com.android.launcher3.util.Thunk;
+
import java.util.List;
/**
@@ -40,10 +42,10 @@ public class AppsContainerRecyclerView extends RecyclerView
implements RecyclerView.OnItemTouchListener {
private static final float FAST_SCROLL_OVERLAY_Y_OFFSET_FACTOR = 1.5f;
- private static final int SCROLL_DELTA_THRESHOLD = 6;
+ private static final int SCROLL_DELTA_THRESHOLD = 4;
/** Keeps the last known scrolling delta/velocity along y-axis. */
- private int mDy = 0;
+ @Thunk int mDy = 0;
private float mDeltaThreshold;
private AlphabeticalAppsList mApps;
@@ -98,6 +100,19 @@ public class AppsContainerRecyclerView extends RecyclerView
res.getDimensionPixelSize(R.dimen.apps_view_fast_scroll_scrubber_touch_inset);
setFastScrollerAlpha(getFastScrollerAlpha());
mDeltaThreshold = getResources().getDisplayMetrics().density * SCROLL_DELTA_THRESHOLD;
+
+ ScrollListener listener = new ScrollListener();
+ addOnScrollListener(listener);
+ }
+
+ private class ScrollListener extends RecyclerView.OnScrollListener {
+ public ScrollListener() {
+ }
+
+ @Override
+ public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
+ mDy = dy;
+ }
}
/**
@@ -149,11 +164,6 @@ public class AppsContainerRecyclerView extends RecyclerView
drawFastScrollerPopup(canvas);
}
- @Override
- public void onScrolled(int dx, int dy) {
- mDy = dy;
- }
-
/**
* 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.
diff --git a/src/com/android/launcher3/widget/WidgetsContainerRecyclerView.java b/src/com/android/launcher3/widget/WidgetsContainerRecyclerView.java
index 56791c041..f70f170ed 100644
--- a/src/com/android/launcher3/widget/WidgetsContainerRecyclerView.java
+++ b/src/com/android/launcher3/widget/WidgetsContainerRecyclerView.java
@@ -21,6 +21,8 @@ import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
import android.view.MotionEvent;
+import com.android.launcher3.util.Thunk;
+
/**
* The widgets recycler view container.
* <p>
@@ -30,10 +32,10 @@ import android.view.MotionEvent;
public class WidgetsContainerRecyclerView extends RecyclerView
implements RecyclerView.OnItemTouchListener {
- private static final int SCROLL_DELTA_THRESHOLD = 6;
+ private static final int SCROLL_DELTA_THRESHOLD = 4;
/** Keeps the last known scrolling delta/velocity along y-axis. */
- private int mDy = 0;
+ @Thunk int mDy = 0;
private float mDeltaThreshold;
public WidgetsContainerRecyclerView(Context context) {
@@ -47,6 +49,19 @@ public class WidgetsContainerRecyclerView extends RecyclerView
public WidgetsContainerRecyclerView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
mDeltaThreshold = getResources().getDisplayMetrics().density * SCROLL_DELTA_THRESHOLD;
+
+ ScrollListener listener = new ScrollListener();
+ addOnScrollListener(listener);
+ }
+
+ private class ScrollListener extends RecyclerView.OnScrollListener {
+ public ScrollListener() {
+ }
+
+ @Override
+ public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
+ mDy = dy;
+ }
}
@Override
@@ -56,11 +71,6 @@ public class WidgetsContainerRecyclerView extends RecyclerView
}
@Override
- public void onScrolled(int dx, int dy) {
- mDy = dy;
- }
-
- @Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
if ((Math.abs(mDy) < mDeltaThreshold &&