diff options
| author | 2024-05-20 12:57:58 +0000 | |
|---|---|---|
| committer | 2024-05-20 12:57:58 +0000 | |
| commit | c8b0817d3b44948b2d7138f448f1d6e374f1debc (patch) | |
| tree | 67a2fc0f0cc7c0746f93d2f1f0559171ed30faaf /libs | |
| parent | f144ea5d9b8b6e01e0c7a035d6d073257cbbe8a4 (diff) | |
| parent | dcb5ee5901eac1635464eedfd8c67189eda0cf75 (diff) | |
Merge "Launch freeform activities in desktop mode" into main
Diffstat (limited to 'libs')
2 files changed, 14 insertions, 11 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt index 2dc4573b4921..79a209016f59 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt @@ -906,7 +906,8 @@ class DesktopTasksController( task.taskId ) return WindowContainerTransaction().also { wct -> - addMoveToFullscreenChanges(wct, task) + bringDesktopAppsToFrontBeforeShowingNewTask(task.displayId, wct, task.taskId) + wct.reorder(task.token, true) } } // Desktop Mode is showing and we're launching a new Task - we might need to minimize diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt index f67da5573b7d..14f57bd41e23 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt @@ -1072,7 +1072,7 @@ class DesktopTasksControllerTest : ShellTestCase() { } @Test - fun handleRequest_freeformTask_freeformNotVisible_returnSwitchToFullscreenWCT() { + fun handleRequest_freeformTask_freeformNotVisible_reorderedToTop() { assumeTrue(ENABLE_SHELL_TRANSITIONS) val freeformTask1 = setUpFreeformTask() @@ -1084,30 +1084,32 @@ class DesktopTasksControllerTest : ShellTestCase() { Binder(), createTransition(freeformTask2, type = TRANSIT_TO_FRONT) ) - assertThat(result?.changes?.get(freeformTask2.token.asBinder())?.windowingMode) - .isEqualTo(WINDOWING_MODE_UNDEFINED) // inherited FULLSCREEN + + assertThat(result?.hierarchyOps?.size).isEqualTo(2) + result!!.assertReorderAt(1, freeformTask2, toTop = true) } @Test - fun handleRequest_freeformTask_noOtherTasks_returnSwitchToFullscreenWCT() { + fun handleRequest_freeformTask_noOtherTasks_reorderedToTop() { assumeTrue(ENABLE_SHELL_TRANSITIONS) val task = createFreeformTask() val result = controller.handleRequest(Binder(), createTransition(task)) - assertThat(result?.changes?.get(task.token.asBinder())?.windowingMode) - .isEqualTo(WINDOWING_MODE_UNDEFINED) // inherited FULLSCREEN + + assertThat(result?.hierarchyOps?.size).isEqualTo(1) + result!!.assertReorderAt(0, task, toTop = true) } @Test - fun handleRequest_freeformTask_freeformOnOtherDisplayOnly_returnSwitchToFullscreenWCT() { + fun handleRequest_freeformTask_freeformOnOtherDisplayOnly_reorderedToTop() { assumeTrue(ENABLE_SHELL_TRANSITIONS) val taskDefaultDisplay = createFreeformTask(displayId = DEFAULT_DISPLAY) - createFreeformTask(displayId = SECOND_DISPLAY) + val taskSecondDisplay = createFreeformTask(displayId = SECOND_DISPLAY) val result = controller.handleRequest(Binder(), createTransition(taskDefaultDisplay)) - assertThat(result?.changes?.get(taskDefaultDisplay.token.asBinder())?.windowingMode) - .isEqualTo(WINDOWING_MODE_UNDEFINED) // inherited FULLSCREEN + assertThat(result?.hierarchyOps?.size).isEqualTo(1) + result!!.assertReorderAt(0, taskDefaultDisplay, toTop = true) } @Test |