Merge "Fix getting stuck in BackgroundAppState for 2-button mode" into ub-launcher3-qt-dev
diff --git a/go/quickstep/src/com/android/quickstep/GoActivityControlHelper.java b/go/quickstep/src/com/android/quickstep/GoActivityControlHelper.java
index 8b6f8bc..2db8b39 100644
--- a/go/quickstep/src/com/android/quickstep/GoActivityControlHelper.java
+++ b/go/quickstep/src/com/android/quickstep/GoActivityControlHelper.java
@@ -29,7 +29,7 @@
}
@Override
- public void onSwipeUpComplete(T activity) {
+ public void onSwipeUpToRecentsComplete(T activity) {
// Go does not support swipe up gesture.
}
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/FallbackActivityControllerHelper.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/FallbackActivityControllerHelper.java
index f12efc8..dc58a4e 100644
--- a/quickstep/recents_ui_overrides/src/com/android/quickstep/FallbackActivityControllerHelper.java
+++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/FallbackActivityControllerHelper.java
@@ -70,7 +70,7 @@
}
@Override
- public void onSwipeUpComplete(RecentsActivity activity) {
+ public void onSwipeUpToRecentsComplete(RecentsActivity activity) {
RecentsView recentsView = activity.getOverviewPanel();
recentsView.getClearAllButton().setVisibilityAlpha(1);
recentsView.setDisallowScrollToClearAll(false);
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityControllerHelper.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityControllerHelper.java
index 5af09f7..d0a41f3 100644
--- a/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityControllerHelper.java
+++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityControllerHelper.java
@@ -91,7 +91,7 @@
}
@Override
- public void onSwipeUpComplete(Launcher activity) {
+ public void onSwipeUpToRecentsComplete(Launcher activity) {
// Re apply state in case we did something funky during the transition.
activity.getStateManager().reapplyState();
DiscoveryBounce.showForOverviewIfNeeded(activity);
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java
index c7aaa9b..87b7326 100644
--- a/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java
+++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java
@@ -353,7 +353,7 @@
| STATE_LAUNCHER_DRAWN | STATE_SCALED_CONTROLLER_RECENTS
| STATE_CURRENT_TASK_FINISHED | STATE_GESTURE_COMPLETED
| STATE_GESTURE_STARTED,
- this::setupLauncherUiAfterSwipeUpAnimation);
+ this::setupLauncherUiAfterSwipeUpToRecentsAnimation);
mStateCallback.addCallback(STATE_HANDLER_INVALIDATED, this::invalidateHandler);
mStateCallback.addCallback(STATE_LAUNCHER_PRESENT | STATE_HANDLER_INVALIDATED,
@@ -647,7 +647,10 @@
}
private void buildAnimationController() {
- if (mStateCallback.hasStates(STATE_GESTURE_COMPLETED)) {
+ if (mGestureEndTarget == HOME || (mLauncherTransitionController != null
+ && mLauncherTransitionController.getAnimationPlayer().isStarted())) {
+ // We don't want a new mLauncherTransitionController if mGestureEndTarget == HOME (it
+ // has its own animation) or if we're already animating the current controller.
return;
}
initTransitionEndpoints(mActivity.getDeviceProfile());
@@ -1276,12 +1279,7 @@
}
private void invalidateHandlerWithLauncher() {
- if (mLauncherTransitionController != null) {
- if (mLauncherTransitionController.getAnimationPlayer().isStarted()) {
- mLauncherTransitionController.getAnimationPlayer().cancel();
- }
- mLauncherTransitionController = null;
- }
+ endLauncherTransitionController();
mRecentsView.onGestureAnimationEnd();
@@ -1289,6 +1287,13 @@
mActivity.getRootView().getOverlay().remove(mLiveTileOverlay);
}
+ private void endLauncherTransitionController() {
+ if (mLauncherTransitionController != null) {
+ mLauncherTransitionController.getAnimationPlayer().end();
+ mLauncherTransitionController = null;
+ }
+ }
+
private void notifyTransitionCancelled() {
mAnimationFactory.onTransitionCancelled();
}
@@ -1390,12 +1395,9 @@
doLogGesture(HOME);
}
- private void setupLauncherUiAfterSwipeUpAnimation() {
- if (mLauncherTransitionController != null) {
- mLauncherTransitionController.getAnimationPlayer().end();
- mLauncherTransitionController = null;
- }
- mActivityControlHelper.onSwipeUpComplete(mActivity);
+ private void setupLauncherUiAfterSwipeUpToRecentsAnimation() {
+ endLauncherTransitionController();
+ mActivityControlHelper.onSwipeUpToRecentsComplete(mActivity);
mRecentsAnimationWrapper.setCancelWithDeferredScreenshot(true);
mRecentsView.onSwipeUpAnimationSuccess();
diff --git a/quickstep/src/com/android/quickstep/ActivityControlHelper.java b/quickstep/src/com/android/quickstep/ActivityControlHelper.java
index 279a946..b17d8d6 100644
--- a/quickstep/src/com/android/quickstep/ActivityControlHelper.java
+++ b/quickstep/src/com/android/quickstep/ActivityControlHelper.java
@@ -51,7 +51,7 @@
int getSwipeUpDestinationAndLength(DeviceProfile dp, Context context, Rect outRect);
- void onSwipeUpComplete(T activity);
+ void onSwipeUpToRecentsComplete(T activity);
void onAssistantVisibilityChanged(float visibility);