diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2018-06-15 16:38:49 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-06-15 16:38:49 +0000 |
commit | ae7c6d12840264bad5d31933f743677a73c3f8fb (patch) | |
tree | 9f58711bf2f345484ce189369bb89420d26d8bd5 /src | |
parent | 3871e7268607f446ed25bf475d13e230e51c64c3 (diff) | |
parent | b8ca1aa7eeb15082331bc9eb47c09aacc6f82e5c (diff) | |
download | android_packages_apps_Trebuchet-ae7c6d12840264bad5d31933f743677a73c3f8fb.tar.gz android_packages_apps_Trebuchet-ae7c6d12840264bad5d31933f743677a73c3f8fb.tar.bz2 android_packages_apps_Trebuchet-ae7c6d12840264bad5d31933f743677a73c3f8fb.zip |
Merge "Add hard clip for overscrolled children to not be visible above QSB." into ub-launcher3-edmonton-polish
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/allapps/AllAppsContainerView.java | 5 | ||||
-rw-r--r-- | src/com/android/launcher3/views/SpringRelativeLayout.java | 14 |
2 files changed, 18 insertions, 1 deletions
diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java index 899397861..4d63c960a 100644 --- a/src/com/android/launcher3/allapps/AllAppsContainerView.java +++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java @@ -312,6 +312,11 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo } } + @Override + public int getCanvasClipTopForOverscroll() { + return mHeader.getTop(); + } + private void rebindAdapters(boolean showTabs) { rebindAdapters(showTabs, false /* force */); } diff --git a/src/com/android/launcher3/views/SpringRelativeLayout.java b/src/com/android/launcher3/views/SpringRelativeLayout.java index 5022d65a3..892c59f27 100644 --- a/src/com/android/launcher3/views/SpringRelativeLayout.java +++ b/src/com/android/launcher3/views/SpringRelativeLayout.java @@ -85,12 +85,24 @@ public class SpringRelativeLayout extends RelativeLayout { invalidate(); } + /** + * Used to clip the canvas when drawing child views during overscroll. + */ + public int getCanvasClipTopForOverscroll() { + return 0; + } + @Override protected boolean drawChild(Canvas canvas, View child, long drawingTime) { if (mDampedScrollShift != 0 && mSpringViews.get(child.getId())) { + int saveCount = canvas.save(); + + canvas.clipRect(0, getCanvasClipTopForOverscroll(), getWidth(), getHeight()); canvas.translate(0, mDampedScrollShift); boolean result = super.drawChild(canvas, child, drawingTime); - canvas.translate(0, -mDampedScrollShift); + + canvas.restoreToCount(saveCount); + return result; } return super.drawChild(canvas, child, drawingTime); |