Merge "Execute WCT when showDesktopApps is called" into tm-qpr-dev am: 20d8290797 am: d367601649

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20250983

Change-Id: Ia67c8df4f8c073689db4135d9b75db24699cfe0b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Ats Jenk
2022-10-24 21:29:31 +00:00
committed by Automerger Merge Worker

View File

@@ -20,6 +20,7 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
import static android.view.WindowManager.TRANSIT_CHANGE;
import static android.view.WindowManager.TRANSIT_OPEN;
import static android.view.WindowManager.TRANSIT_TO_FRONT;
import static com.android.wm.shell.common.ExecutorUtils.executeRemoteCallWithTaskPermission;
import static com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE;
@@ -193,7 +194,18 @@ public class DesktopModeController implements RemoteCallable<DesktopModeControll
/**
* Show apps on desktop
*/
WindowContainerTransaction showDesktopApps() {
void showDesktopApps() {
WindowContainerTransaction wct = bringDesktopAppsToFront();
if (Transitions.ENABLE_SHELL_TRANSITIONS) {
mTransitions.startTransition(TRANSIT_TO_FRONT, wct, null /* handler */);
} else {
mShellTaskOrganizer.applyTransaction(wct);
}
}
@NonNull
private WindowContainerTransaction bringDesktopAppsToFront() {
ArraySet<Integer> activeTasks = mDesktopModeTaskRepository.getActiveTasks();
ProtoLog.d(WM_SHELL_DESKTOP_MODE, "bringDesktopAppsToFront: tasks=%s", activeTasks.size());
ArrayList<RunningTaskInfo> taskInfos = new ArrayList<>();
@@ -209,11 +221,6 @@ public class DesktopModeController implements RemoteCallable<DesktopModeControll
for (RunningTaskInfo task : taskInfos) {
wct.reorder(task.token, true);
}
if (!Transitions.ENABLE_SHELL_TRANSITIONS) {
mShellTaskOrganizer.applyTransaction(wct);
}
return wct;
}
@@ -271,7 +278,7 @@ public class DesktopModeController implements RemoteCallable<DesktopModeControll
if (wct == null) {
wct = new WindowContainerTransaction();
}
wct.merge(showDesktopApps(), true /* transfer */);
wct.merge(bringDesktopAppsToFront(), true /* transfer */);
wct.reorder(request.getTriggerTask().token, true /* onTop */);
return wct;