summaryrefslogtreecommitdiffstats
path: root/quickstep
diff options
context:
space:
mode:
authorTony <twickham@google.com>2018-06-07 20:48:04 -0700
committerTony <twickham@google.com>2018-06-07 20:48:04 -0700
commit89126653cd38b6b461e893edbd3163d27a943c83 (patch)
tree25a44c9f1c3e9a52b78e2531dddd75d857dea9d1 /quickstep
parent34838cf551cdc9b948a144ddadfc0d6117096d63 (diff)
downloadandroid_packages_apps_Trebuchet-89126653cd38b6b461e893edbd3163d27a943c83.tar.gz
android_packages_apps_Trebuchet-89126653cd38b6b461e893edbd3163d27a943c83.tar.bz2
android_packages_apps_Trebuchet-89126653cd38b6b461e893edbd3163d27a943c83.zip
Don't intercept above shelf progress if still animating
When you swipe up to overview from home, we should allow touches on recents even if the overshoot animation isn't finished. If the touch is below the all apps progress, we continue to intercept to allow for double swipe up. Bug: 80093992 Change-Id: Ifdca61e7cfc1f7a713c067596cc0c1bd3154b44e
Diffstat (limited to 'quickstep')
-rw-r--r--quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java
index 717179dfe..f7554fc04 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java
@@ -31,6 +31,7 @@ import com.android.launcher3.DeviceProfile;
import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherState;
import com.android.launcher3.LauncherStateManager.AnimationComponents;
+import com.android.launcher3.allapps.AllAppsTransitionController;
import com.android.launcher3.anim.AnimatorPlaybackController;
import com.android.launcher3.anim.AnimatorSetBuilder;
import com.android.launcher3.anim.Interpolators;
@@ -68,8 +69,18 @@ public class PortraitStatesTouchController extends AbstractStateChangeTouchContr
mCurrentAnimation.getAnimationPlayer().end();
}
- // If we are already animating from a previous state, we can intercept.
- return true;
+ AllAppsTransitionController allAppsController = mLauncher.getAllAppsController();
+ if (ev.getY() >= allAppsController.getShiftRange() * allAppsController.getProgress()) {
+ // If we are already animating from a previous state, we can intercept as long as
+ // the touch is below the current all apps progress (to allow for double swipe).
+ return true;
+ }
+ // Otherwise, make sure everything is settled and don't intercept so they can scroll
+ // recents, dismiss a task, etc.
+ if (mAtomicAnim != null) {
+ mAtomicAnim.end();
+ }
+ return false;
}
if (mLauncher.isInState(ALL_APPS)) {
// In all-apps only listen if the container cannot scroll itself