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

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

Merge "Add API to desktop mode to bring a desktop task to front" into udc-qpr-dev am: e4fb3654

parents 02c37537 e4fb3654
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -519,6 +519,11 @@ public class DesktopModeController implements RemoteCallable<DesktopModeControll
                    controller -> controller.showDesktopApps(displayId));
        }

        @Override
        public void showDesktopApp(int taskId) throws RemoteException {
            // TODO
        }

        @Override
        public int getVisibleTaskCount(int displayId) throws RemoteException {
            int[] result = new int[1];
+12 −0
Original line number Diff line number Diff line
@@ -278,6 +278,11 @@ class DesktopTasksController(
        }
    }

    /** Move a task to the front */
    fun moveTaskToFront(taskId: Int) {
        shellTaskOrganizer.getRunningTaskInfo(taskId)?.let { task -> moveTaskToFront(task) }
    }

    /** Move a task to the front */
    fun moveTaskToFront(taskInfo: RunningTaskInfo) {
        KtProtoLog.v(
@@ -795,6 +800,13 @@ class DesktopTasksController(
            ) { c -> c.hideStashedDesktopApps(displayId) }
        }

        override fun showDesktopApp(taskId: Int) {
            ExecutorUtils.executeRemoteCallWithTaskPermission(
                    controller,
                    "showDesktopApp"
            ) { c -> c.moveTaskToFront(taskId) }
        }

        override fun getVisibleTaskCount(displayId: Int): Int {
            val result = IntArray(1)
            ExecutorUtils.executeRemoteCallWithTaskPermission(
+3 −0
Original line number Diff line number Diff line
@@ -32,6 +32,9 @@ interface IDesktopMode {
    /** Hide apps that may be stashed */
    void hideStashedDesktopApps(int displayId);

    /** Bring task with the given id to front */
    oneway void showDesktopApp(int taskId);

    /** Get count of visible desktop tasks on the given display */
    int getVisibleTaskCount(int displayId);

+12 −0
Original line number Diff line number Diff line
@@ -344,6 +344,18 @@ class DesktopTasksControllerTest : ShellTestCase() {
        }
    }

    @Test
    fun moveTaskToFront_postsWctWithReorderOp() {
        val task1 = setUpFreeformTask()
        val task2 = setUpFreeformTask()

        controller.moveTaskToFront(task1)

        val wct = getLatestWct(expectTransition = TRANSIT_TO_FRONT)
        assertThat(wct.hierarchyOps).hasSize(1)
        wct.assertReorderAt(index = 0, task1)
    }

    @Test
    fun moveToNextDisplay_noOtherDisplays() {
        whenever(rootTaskDisplayAreaOrganizer.displayIds).thenReturn(intArrayOf(DEFAULT_DISPLAY))