Merge "Provide reason for moving task to front." into main
diff --git a/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchViewController.java b/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchViewController.java
index 88466d3..8cb43d2 100644
--- a/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchViewController.java
@@ -49,6 +49,7 @@
import com.android.systemui.shared.recents.model.ThumbnailData;
import com.android.systemui.shared.system.InteractionJankMonitorWrapper;
import com.android.systemui.shared.system.QuickStepContract;
+import com.android.wm.shell.shared.desktopmode.DesktopTaskToFrontReason;
import java.io.PrintWriter;
import java.util.List;
@@ -297,6 +298,7 @@
task,
remoteTransition,
mOnDesktop,
+ DesktopTaskToFrontReason.ALT_TAB,
onStartCallback,
onFinishCallback);
return -1;
diff --git a/quickstep/src/com/android/launcher3/taskbar/ManageWindowsTaskbarShortcut.kt b/quickstep/src/com/android/launcher3/taskbar/ManageWindowsTaskbarShortcut.kt
index 75ce7c3..82fd415 100644
--- a/quickstep/src/com/android/launcher3/taskbar/ManageWindowsTaskbarShortcut.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/ManageWindowsTaskbarShortcut.kt
@@ -27,7 +27,6 @@
import com.android.launcher3.popup.SystemShortcut
import com.android.launcher3.taskbar.TaskbarAutohideSuspendController.FLAG_AUTOHIDE_SUSPEND_MULTI_INSTANCE_MENU_OPEN
import com.android.launcher3.taskbar.overlay.TaskbarOverlayContext
-import com.android.launcher3.util.Themes
import com.android.launcher3.util.TouchController
import com.android.launcher3.views.ActivityContext
import com.android.quickstep.RecentsModel
@@ -35,9 +34,8 @@
import com.android.quickstep.util.DesktopTask
import com.android.systemui.shared.recents.model.Task
import com.android.systemui.shared.recents.model.ThumbnailData
+import com.android.wm.shell.shared.desktopmode.DesktopTaskToFrontReason
import com.android.wm.shell.shared.multiinstance.ManageWindowsViewContainer
-import java.util.Collections
-import java.util.function.Predicate
/**
* A single menu item shortcut to execute displaying open instances of an app. Default interaction
@@ -120,7 +118,12 @@
({ taskId: Int? ->
taskbarShortcutAllWindowsView.animateClose()
if (taskId != null) {
- SystemUiProxy.INSTANCE.get(target).showDesktopApp(taskId, null)
+ SystemUiProxy.INSTANCE.get(target)
+ .showDesktopApp(
+ taskId,
+ /* transition= */ null,
+ DesktopTaskToFrontReason.TASKBAR_MANAGE_WINDOW,
+ )
}
})
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
index 2924a23..a0f3948 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
@@ -166,6 +166,7 @@
import com.android.systemui.shared.system.QuickStepContract.SystemUiStateFlags;
import com.android.systemui.unfold.updates.RotationChangeProvider;
import com.android.systemui.unfold.util.ScopedUnfoldTransitionProgressProvider;
+import com.android.wm.shell.shared.desktopmode.DesktopTaskToFrontReason;
import java.io.PrintWriter;
import java.util.Collections;
@@ -1330,10 +1331,12 @@
if (runnableList != null) {
runnableList.add(() -> UI_HELPER_EXECUTOR.execute(
() -> handleGroupTaskLaunch(groupTask, remoteTransition,
- areDesktopTasksVisible())));
+ areDesktopTasksVisible(),
+ DesktopTaskToFrontReason.TASKBAR_TAP)));
}
} else {
- handleGroupTaskLaunch(groupTask, remoteTransition, areDesktopTasksVisible());
+ handleGroupTaskLaunch(groupTask, remoteTransition, areDesktopTasksVisible(),
+ DesktopTaskToFrontReason.TASKBAR_TAP);
}
mControllers.taskbarStashController.updateAndAnimateTransientTaskbar(true);
} else if (tag instanceof FolderInfo) {
@@ -1370,12 +1373,14 @@
// task will show.
UI_HELPER_EXECUTOR.execute(() ->
SystemUiProxy.INSTANCE.get(this).showDesktopApp(
- info.getTaskId(), remoteTransition)));
+ info.getTaskId(), remoteTransition,
+ DesktopTaskToFrontReason.TASKBAR_TAP)));
}
} else {
UI_HELPER_EXECUTOR.execute(() ->
SystemUiProxy.INSTANCE.get(this).showDesktopApp(
- info.getTaskId(), remoteTransition));
+ info.getTaskId(), remoteTransition,
+ DesktopTaskToFrontReason.TASKBAR_TAP));
}
mControllers.taskbarStashController.updateAndAnimateTransientTaskbar(
@@ -1468,8 +1473,9 @@
public void handleGroupTaskLaunch(
GroupTask task,
@Nullable RemoteTransition remoteTransition,
- boolean onDesktop) {
- handleGroupTaskLaunch(task, remoteTransition, onDesktop,
+ boolean onDesktop,
+ DesktopTaskToFrontReason toFrontReason) {
+ handleGroupTaskLaunch(task, remoteTransition, onDesktop, toFrontReason,
/* onStartCallback= */ null, /* onFinishCallback= */ null);
}
@@ -1488,6 +1494,7 @@
GroupTask task,
@Nullable RemoteTransition remoteTransition,
boolean onDesktop,
+ DesktopTaskToFrontReason toFrontReason,
@Nullable Runnable onStartCallback,
@Nullable Runnable onFinishCallback) {
if (task instanceof DesktopTask) {
@@ -1502,8 +1509,8 @@
if (onStartCallback != null) {
onStartCallback.run();
}
- SystemUiProxy.INSTANCE.get(this).showDesktopApp(
- task.task1.key.id, useRemoteTransition ? remoteTransition : null);
+ SystemUiProxy.INSTANCE.get(this).showDesktopApp(task.task1.key.id,
+ useRemoteTransition ? remoteTransition : null, toFrontReason);
if (onFinishCallback != null) {
onFinishCallback.run();
}
diff --git a/quickstep/src/com/android/quickstep/SystemUiProxy.kt b/quickstep/src/com/android/quickstep/SystemUiProxy.kt
index f679fec..0459da0 100644
--- a/quickstep/src/com/android/quickstep/SystemUiProxy.kt
+++ b/quickstep/src/com/android/quickstep/SystemUiProxy.kt
@@ -93,6 +93,7 @@
import com.android.wm.shell.shared.bubbles.BubbleBarLocation.UpdateSource
import com.android.wm.shell.shared.desktopmode.DesktopModeStatus
import com.android.wm.shell.shared.desktopmode.DesktopModeTransitionSource
+import com.android.wm.shell.shared.desktopmode.DesktopTaskToFrontReason
import com.android.wm.shell.shared.split.SplitBounds
import com.android.wm.shell.shared.split.SplitScreenConstants.PersistentSnapPosition
import com.android.wm.shell.splitscreen.ISplitScreen
@@ -1077,9 +1078,13 @@
}
/** If task with the given id is on the desktop, bring it to front */
- fun showDesktopApp(taskId: Int, transition: RemoteTransition?) =
+ fun showDesktopApp(
+ taskId: Int,
+ transition: RemoteTransition?,
+ toFrontReason: DesktopTaskToFrontReason,
+ ) =
executeWithErrorLog({ "Failed call showDesktopApp" }) {
- desktopMode?.showDesktopApp(taskId, transition)
+ desktopMode?.showDesktopApp(taskId, transition, toFrontReason)
}
/** Call shell to get number of visible freeform tasks */