From 788c0514938be2886f8aa8377e219fc7083a74e4 Mon Sep 17 00:00:00 2001 From: Tracy Zhou Date: Tue, 22 May 2018 14:09:29 -0700 Subject: [PATCH] Add mStartState to determine if user swipes up from Home. Bug: 80146880 Test: Manual test Change-Id: Ia0743bff3f2a5b3998a798743138b012ec461a94 --- .../launcher3/uioverrides/LandscapeEdgeSwipeController.java | 2 +- .../launcher3/uioverrides/PortraitStatesTouchController.java | 2 +- .../launcher3/touch/AbstractStateChangeTouchController.java | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/quickstep/src/com/android/launcher3/uioverrides/LandscapeEdgeSwipeController.java b/quickstep/src/com/android/launcher3/uioverrides/LandscapeEdgeSwipeController.java index 68773b4188..6d1061990b 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/LandscapeEdgeSwipeController.java +++ b/quickstep/src/com/android/launcher3/uioverrides/LandscapeEdgeSwipeController.java @@ -72,7 +72,7 @@ public class LandscapeEdgeSwipeController extends AbstractStateChangeTouchContro @Override protected void onSwipeInteractionCompleted(LauncherState targetState, int logAction) { super.onSwipeInteractionCompleted(targetState, logAction); - if (mFromState == NORMAL && targetState == OVERVIEW) { + if (mStartState == NORMAL && targetState == OVERVIEW) { RecentsModel.getInstance(mLauncher).onOverviewShown(true, TAG); } } diff --git a/quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java index 987f952baf..3fb7cd4802 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java +++ b/quickstep/src/com/android/launcher3/uioverrides/PortraitStatesTouchController.java @@ -202,7 +202,7 @@ public class PortraitStatesTouchController extends AbstractStateChangeTouchContr @Override protected void onSwipeInteractionCompleted(LauncherState targetState, int logAction) { super.onSwipeInteractionCompleted(targetState, logAction); - if (mFromState == NORMAL && targetState == OVERVIEW) { + if (mStartState == NORMAL && targetState == OVERVIEW) { RecentsModel.getInstance(mLauncher).onOverviewShown(true, TAG); } } diff --git a/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java b/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java index 0e68538692..c89012ac57 100644 --- a/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java +++ b/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java @@ -73,6 +73,7 @@ public abstract class AbstractStateChangeTouchController private boolean mNoIntercept; protected int mStartContainerType; + protected LauncherState mStartState; protected LauncherState mFromState; protected LauncherState mToState; protected AnimatorPlaybackController mCurrentAnimation; @@ -238,8 +239,10 @@ public abstract class AbstractStateChangeTouchController @Override public void onDragStart(boolean start) { + mStartState = mLauncher.getStateManager().getState(); if (mCurrentAnimation == null) { - mFromState = mToState = null; + mFromState = mStartState; + mToState = null; mAtomicComponentsController = null; reinitCurrentAnimation(false, mDetector.wasInitialTouchPositive()); mDisplacementShift = 0;