summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2015-06-22 19:48:07 -0700
committerWinson Chung <winsonc@google.com>2015-06-23 21:56:07 +0000
commit243fdd7cdf262b341b4f66177af27eec4f5cde45 (patch)
tree82e14b148aaf1f5fbcaea68589d211e72641d15c /src/com/android/launcher3/allapps/AllAppsRecyclerView.java
parent01d4ffdef43f68e0ed4e99861a637e23fda8b4fc (diff)
downloadandroid_packages_apps_Trebuchet-243fdd7cdf262b341b4f66177af27eec4f5cde45.tar.gz
android_packages_apps_Trebuchet-243fdd7cdf262b341b4f66177af27eec4f5cde45.tar.bz2
android_packages_apps_Trebuchet-243fdd7cdf262b341b4f66177af27eec4f5cde45.zip
Working around overscroll issues in AllApps.
- For the time being, we are going to do custom drawing to ensure that we get the touch events in the right order, while still allowing the recycler view to draw the overscroll effect on top of the prediction bar. Bug: 21335369 Change-Id: I6bf64e5c1e9aa634a953223a5decf74942e4fb57
Diffstat (limited to 'src/com/android/launcher3/allapps/AllAppsRecyclerView.java')
-rw-r--r--src/com/android/launcher3/allapps/AllAppsRecyclerView.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
index a17f0e35d..c83c6cfd9 100644
--- a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
@@ -16,10 +16,12 @@
package com.android.launcher3.allapps;
import android.content.Context;
+import android.graphics.Canvas;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
+import android.view.ContextThemeWrapper;
import android.view.View;
import com.android.launcher3.BaseRecyclerView;
import com.android.launcher3.BaseRecyclerViewFastScrollBar;
@@ -70,8 +72,9 @@ public class AllAppsRecyclerView extends BaseRecyclerView
public AllAppsRecyclerView(Context context, AttributeSet attrs, int defStyleAttr,
int defStyleRes) {
super(context, attrs, defStyleAttr);
- mLauncher = (Launcher) context;
- setOverScrollMode(View.OVER_SCROLL_NEVER);
+ // We have a theme on this view, so we need to coerce the base activity context from that
+ ContextThemeWrapper ctx = (ContextThemeWrapper) context;
+ mLauncher = (Launcher) ctx.getBaseContext();
}
/**
@@ -125,6 +128,18 @@ public class AllAppsRecyclerView extends BaseRecyclerView
return 0;
}
+ /**
+ * We need to override the draw to ensure that we don't draw the overscroll effect beyond the
+ * background bounds.
+ */
+ @Override
+ protected void dispatchDraw(Canvas canvas) {
+ canvas.clipRect(mBackgroundPadding.left, mBackgroundPadding.top,
+ getWidth() - mBackgroundPadding.right,
+ getHeight() - mBackgroundPadding.bottom);
+ super.dispatchDraw(canvas);
+ }
+
@Override
protected void onFinishInflate() {
super.onFinishInflate();