diff --git a/quickstep/src/com/android/launcher3/desktop/DesktopRecentsTransitionController.kt b/quickstep/src/com/android/launcher3/desktop/DesktopRecentsTransitionController.kt index ac1ffa6029..8b064d347f 100644 --- a/quickstep/src/com/android/launcher3/desktop/DesktopRecentsTransitionController.kt +++ b/quickstep/src/com/android/launcher3/desktop/DesktopRecentsTransitionController.kt @@ -31,6 +31,8 @@ import com.android.launcher3.util.Executors.MAIN_EXECUTOR import com.android.quickstep.SystemUiProxy import com.android.quickstep.TaskViewUtils import com.android.quickstep.views.DesktopTaskView +import com.android.quickstep.views.TaskContainer +import com.android.quickstep.views.TaskView import com.android.window.flags.Flags import com.android.wm.shell.shared.desktopmode.DesktopModeTransitionSource import java.util.function.Consumer @@ -62,8 +64,12 @@ class DesktopRecentsTransitionController( } /** Launch desktop tasks from recents view */ - fun moveToDesktop(taskId: Int, transitionSource: DesktopModeTransitionSource) { - systemUiProxy.moveToDesktop(taskId, transitionSource) + fun moveToDesktop(taskContainer: TaskContainer, transitionSource: DesktopModeTransitionSource) { + systemUiProxy.moveToDesktop( + taskContainer.task.key.id, + transitionSource, + /* transition = */ null, + ) } /** Move task to external display from recents view */ @@ -72,7 +78,7 @@ class DesktopRecentsTransitionController( } private class RemoteDesktopLaunchTransitionRunner( - private val desktopTaskView: DesktopTaskView, + private val taskView: TaskView, private val animated: Boolean, private val stateManager: StateManager<*, *>, private val depthController: DepthController?, @@ -99,7 +105,7 @@ class DesktopRecentsTransitionController( MAIN_EXECUTOR.execute { val animator = TaskViewUtils.composeRecentsDesktopLaunchAnimator( - desktopTaskView, + taskView, stateManager, depthController, info, diff --git a/quickstep/src/com/android/quickstep/SystemUiProxy.java b/quickstep/src/com/android/quickstep/SystemUiProxy.java index 6c4c74cb6c..2ffe89f59c 100644 --- a/quickstep/src/com/android/quickstep/SystemUiProxy.java +++ b/quickstep/src/com/android/quickstep/SystemUiProxy.java @@ -1476,10 +1476,11 @@ public class SystemUiProxy implements ISystemUiProxy, NavHandle { } /** Call shell to move a task with given `taskId` to desktop */ - public void moveToDesktop(int taskId, DesktopModeTransitionSource transitionSource) { + public void moveToDesktop(int taskId, DesktopModeTransitionSource transitionSource, + @Nullable RemoteTransition transition) { if (mDesktopMode != null) { try { - mDesktopMode.moveToDesktop(taskId, transitionSource); + mDesktopMode.moveToDesktop(taskId, transitionSource, transition); } catch (RemoteException e) { Log.w(TAG, "Failed call moveToDesktop", e); } diff --git a/quickstep/src/com/android/quickstep/TaskViewUtils.java b/quickstep/src/com/android/quickstep/TaskViewUtils.java index 07ee4793de..23d9aa7069 100644 --- a/quickstep/src/com/android/quickstep/TaskViewUtils.java +++ b/quickstep/src/com/android/quickstep/TaskViewUtils.java @@ -559,7 +559,7 @@ public final class TaskViewUtils { * Start recents to desktop animation */ public static AnimatorSet composeRecentsDesktopLaunchAnimator( - @NonNull DesktopTaskView launchingTaskView, + @NonNull TaskView launchingTaskView, @NonNull StateManager stateManager, @Nullable DepthController depthController, @NonNull TransitionInfo transitionInfo, SurfaceControl.Transaction t, @NonNull Runnable finishCallback) { diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 6ab3e286a5..cf2c00a326 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -6762,8 +6762,8 @@ public abstract class RecentsView< if (mDesktopRecentsTransitionController == null) { return; } - mDesktopRecentsTransitionController.moveToDesktop(taskContainer.getTask().key.id, - transitionSource); + + mDesktopRecentsTransitionController.moveToDesktop(taskContainer, transitionSource); successCallback.run(); }