diff options
author | Winson Chung <winsonc@google.com> | 2015-06-22 19:48:07 -0700 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2015-06-23 21:56:07 +0000 |
commit | 243fdd7cdf262b341b4f66177af27eec4f5cde45 (patch) | |
tree | 82e14b148aaf1f5fbcaea68589d211e72641d15c /src/com/android/launcher3/widget | |
parent | 01d4ffdef43f68e0ed4e99861a637e23fda8b4fc (diff) | |
download | android_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/widget')
-rw-r--r-- | src/com/android/launcher3/widget/WidgetsRecyclerView.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/com/android/launcher3/widget/WidgetsRecyclerView.java b/src/com/android/launcher3/widget/WidgetsRecyclerView.java index 3101f3327..61e63cdb7 100644 --- a/src/com/android/launcher3/widget/WidgetsRecyclerView.java +++ b/src/com/android/launcher3/widget/WidgetsRecyclerView.java @@ -17,6 +17,7 @@ package com.android.launcher3.widget; import android.content.Context; +import android.graphics.Canvas; import android.graphics.Color; import android.support.v7.widget.LinearLayoutManager; import android.util.AttributeSet; @@ -73,6 +74,18 @@ public class WidgetsRecyclerView extends BaseRecyclerView { public void setWidgets(WidgetsModel widgets) { mWidgets = widgets; } + + /** + * 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); + } /** * Maps the touch (from 0..1) to the adapter position that should be visible. |