Merge "Execute WCT when showDesktopApps is called" into tm-qpr-dev am: 20d8290797
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20250983 Change-Id: I87b2d78dfaaaab66cd0b2a40d7d3b507ce50769e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -20,6 +20,7 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
|
|||||||
import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
|
import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
|
||||||
import static android.view.WindowManager.TRANSIT_CHANGE;
|
import static android.view.WindowManager.TRANSIT_CHANGE;
|
||||||
import static android.view.WindowManager.TRANSIT_OPEN;
|
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.common.ExecutorUtils.executeRemoteCallWithTaskPermission;
|
||||||
import static com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE;
|
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
|
* 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();
|
ArraySet<Integer> activeTasks = mDesktopModeTaskRepository.getActiveTasks();
|
||||||
ProtoLog.d(WM_SHELL_DESKTOP_MODE, "bringDesktopAppsToFront: tasks=%s", activeTasks.size());
|
ProtoLog.d(WM_SHELL_DESKTOP_MODE, "bringDesktopAppsToFront: tasks=%s", activeTasks.size());
|
||||||
ArrayList<RunningTaskInfo> taskInfos = new ArrayList<>();
|
ArrayList<RunningTaskInfo> taskInfos = new ArrayList<>();
|
||||||
@@ -209,11 +221,6 @@ public class DesktopModeController implements RemoteCallable<DesktopModeControll
|
|||||||
for (RunningTaskInfo task : taskInfos) {
|
for (RunningTaskInfo task : taskInfos) {
|
||||||
wct.reorder(task.token, true);
|
wct.reorder(task.token, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Transitions.ENABLE_SHELL_TRANSITIONS) {
|
|
||||||
mShellTaskOrganizer.applyTransaction(wct);
|
|
||||||
}
|
|
||||||
|
|
||||||
return wct;
|
return wct;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -271,7 +278,7 @@ public class DesktopModeController implements RemoteCallable<DesktopModeControll
|
|||||||
if (wct == null) {
|
if (wct == null) {
|
||||||
wct = new WindowContainerTransaction();
|
wct = new WindowContainerTransaction();
|
||||||
}
|
}
|
||||||
wct.merge(showDesktopApps(), true /* transfer */);
|
wct.merge(bringDesktopAppsToFront(), true /* transfer */);
|
||||||
wct.reorder(request.getTriggerTask().token, true /* onTop */);
|
wct.reorder(request.getTriggerTask().token, true /* onTop */);
|
||||||
|
|
||||||
return wct;
|
return wct;
|
||||||
|
|||||||
Reference in New Issue
Block a user