summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2018-06-15 16:38:49 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-06-15 16:38:49 +0000
commitae7c6d12840264bad5d31933f743677a73c3f8fb (patch)
tree9f58711bf2f345484ce189369bb89420d26d8bd5 /src
parent3871e7268607f446ed25bf475d13e230e51c64c3 (diff)
parentb8ca1aa7eeb15082331bc9eb47c09aacc6f82e5c (diff)
downloadandroid_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.java5
-rw-r--r--src/com/android/launcher3/views/SpringRelativeLayout.java14
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);