diff --git a/quickstep/src/com/android/quickstep/RecentsAnimationController.java b/quickstep/src/com/android/quickstep/RecentsAnimationController.java index 50d0569cf2..0ebe13be8d 100644 --- a/quickstep/src/com/android/quickstep/RecentsAnimationController.java +++ b/quickstep/src/com/android/quickstep/RecentsAnimationController.java @@ -18,6 +18,7 @@ package com.android.quickstep; import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR; +import android.view.IRecentsAnimationController; import android.view.SurfaceControl; import android.window.PictureInPictureSurfaceTransaction; @@ -162,6 +163,14 @@ public class RecentsAnimationController { UI_HELPER_EXECUTOR.execute(() -> mController.detachNavigationBarFromApp(moveHomeToTop)); } + /** + * @see IRecentsAnimationController#animateNavigationBarToApp(long) + */ + @UiThread + public void animateNavigationBarToApp(long duration) { + UI_HELPER_EXECUTOR.execute(() -> mController.animateNavigationBarToApp(duration)); + } + /** * Sets the final surface transaction on a Task. This is used by Launcher to notify the system * that animating Activity to PiP has completed and the associated task surface should be diff --git a/quickstep/src/com/android/quickstep/TaskViewUtils.java b/quickstep/src/com/android/quickstep/TaskViewUtils.java index a59ba5136d..59bd1ed9ea 100644 --- a/quickstep/src/com/android/quickstep/TaskViewUtils.java +++ b/quickstep/src/com/android/quickstep/TaskViewUtils.java @@ -263,6 +263,14 @@ public final class TaskViewUtils { finalParams.applySurfaceParams(navBuilder.build()); } }); + } else if (inLiveTileMode) { + // There is no transition animation for app launch from recent in live tile mode so + // we have to trigger the navigation bar animation from system here. + final RecentsAnimationController controller = + recentsView.getRecentsAnimationController(); + if (controller != null) { + controller.animateNavigationBarToApp(RECENTS_LAUNCH_DURATION); + } } topMostSimulator = tsv; } diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index a46bc6b72d..27f2078580 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -3843,4 +3843,10 @@ public abstract class RecentsView