Adding overlay interaction support
> Sending unboundX to the overlay which is the total untranslated X and not just deltaX from last frame
> Handling overlay callback and translating workspace accordingly
Change-Id: I3bd8d9efac738e9ce131758f0e5ff1b9c1d6a8fc
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java
index c826c5f..b3a714b 100644
--- a/src/com/android/launcher3/PagedView.java
+++ b/src/com/android/launcher3/PagedView.java
@@ -100,7 +100,7 @@
@ViewDebug.ExportedProperty(category = "launcher")
protected int mNextPage = INVALID_PAGE;
- private int mMaxScrollX;
+ protected int mMaxScrollX;
protected LauncherScroller mScroller;
private Interpolator mDefaultInterpolator;
private VelocityTracker mVelocityTracker;
@@ -542,9 +542,13 @@
super.setOnLongClickListener(l);
}
+ protected int getUnboundedScrollX() {
+ return getScrollX();
+ }
+
@Override
public void scrollBy(int x, int y) {
- scrollTo(getScrollX() + x, getScrollY() + y);
+ scrollTo(getUnboundedScrollX() + x, getScrollY() + y);
}
@Override
@@ -1987,7 +1991,7 @@
int halfScreenSize = getViewportWidth() / 2;
final int newX = getScrollForPage(whichPage);
- int delta = newX - getScrollX();
+ int delta = newX - getUnboundedScrollX();
int duration = 0;
if (Math.abs(velocity) < mMinFlingVelocity) {
@@ -2037,7 +2041,7 @@
whichPage = validateNewPage(whichPage);
int newX = getScrollForPage(whichPage);
- final int delta = newX - getScrollX();
+ final int delta = newX - getUnboundedScrollX();
snapToPage(whichPage, delta, duration, immediate, interpolator);
}
@@ -2069,7 +2073,7 @@
mScroller.setInterpolator(mDefaultInterpolator);
}
- mScroller.startScroll(getScrollX(), 0, delta, 0, duration);
+ mScroller.startScroll(getUnboundedScrollX(), 0, delta, 0, duration);
updatePageIndicator();