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/Launcher.java b/src/com/android/launcher3/Launcher.java
index a5c6720..68b0dff 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -1107,12 +1107,7 @@
* Scroll progress, between 0 and 100, when the user scrolls beyond the leftmost
* screen (or in the case of RTL, the rightmost screen).
*/
- public void onScrollChange(int progress, boolean rtl);
-
- /**
- * Screen has stopped scrolling
- */
- public void onScrollSettled();
+ public void onScrollChange(float progress, boolean rtl);
/**
* Called when the launcher is ready to use the overlay
@@ -1134,11 +1129,16 @@
}
public interface LauncherOverlayCallbacks {
-
+ public void onScrollChanged(float progress);
}
class LauncherOverlayCallbacksImpl implements LauncherOverlayCallbacks {
+ public void onScrollChanged(float progress) {
+ if (mWorkspace != null) {
+ mWorkspace.onOverlayScrollChanged(progress);
+ }
+ }
}
protected boolean hasSettings() {
@@ -1631,6 +1631,10 @@
FirstFrameAnimatorHelper.initializeDrawListener(getWindow().getDecorView());
mAttached = true;
mVisible = true;
+
+ if (mLauncherCallbacks != null) {
+ mLauncherCallbacks.onAttachedToWindow();
+ }
}
@Override
@@ -1643,6 +1647,10 @@
mAttached = false;
}
updateAutoAdvanceState();
+
+ if (mLauncherCallbacks != null) {
+ mLauncherCallbacks.onDetachedFromWindow();
+ }
}
public void onWindowVisibilityChanged(int visibility) {