Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3676016 authored by Ats Jenk's avatar Ats Jenk Committed by Automerger Merge Worker
Browse files

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

parents a4b5b1ed 20d82907
Loading
Loading
Loading
Loading
+14 −7
Original line number Diff line number Diff line
@@ -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;