Loading libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/multidesks/RootTaskDesksOrganizer.kt +1 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ class RootTaskDesksOrganizer( .asSequence() .filterNot { desk -> userId in desk.users } .filterNot { desk -> desk.deskId in removeDeskRootRequests } .filter { desk -> desk.taskInfo.displayId == displayId } .firstOrNull() if (unassignedDesk != null) { unassignedDesk.users.add(userId) Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/multidesks/RootTaskDesksOrganizerTest.kt +19 −3 Original line number Diff line number Diff line Loading @@ -107,6 +107,15 @@ class RootTaskDesksOrganizerTest : ShellTestCase() { assertThat(desk2.deskRoot.deskId).isNotEqualTo(desk.deskRoot.deskId) } @Test fun testCreateDesk_rootExistsForOtherUser_inOtherDisplay_doesNotReuseRoot() = runTest { val desk = createDeskSuspending(userId = PRIMARY_USER_ID, displayId = DEFAULT_DISPLAY) val desk2 = createDeskSuspending(userId = SECONDARY_USER_ID, displayId = SECOND_DISPLAY) assertThat(desk2.deskRoot.deskId).isNotEqualTo(desk.deskRoot.deskId) } @Test fun testCreateMinimizationRoot_marksHidden() = runTest { val desk = createDeskSuspending() Loading Loading @@ -743,18 +752,24 @@ class RootTaskDesksOrganizerTest : ShellTestCase() { private suspend fun createDeskSuspending( visible: Boolean = true, userId: Int = PRIMARY_USER_ID, displayId: Int = DEFAULT_DISPLAY, ): DeskRoots { val freeformRootTask = createFreeformTask().apply { parentTaskId = -1 isVisible = visible isVisibleRequested = visible this.displayId = displayId } val minimizationRootTask = createFreeformTask().apply { parentTaskId = -1 this.displayId = displayId } val minimizationRootTask = createFreeformTask().apply { parentTaskId = -1 } Mockito.reset(mockShellTaskOrganizer) whenever( mockShellTaskOrganizer.createRootTask( DEFAULT_DISPLAY, displayId, WINDOWING_MODE_FREEFORM, organizer, true, Loading @@ -768,7 +783,7 @@ class RootTaskDesksOrganizerTest : ShellTestCase() { val listener = (invocation.arguments[2] as TaskListener) listener.onTaskAppeared(minimizationRootTask, SurfaceControl()) } val deskId = organizer.createDeskSuspending(DEFAULT_DISPLAY, userId) val deskId = organizer.createDeskSuspending(displayId, userId) val deskRoot = assertNotNull(organizer.deskRootsByDeskId.get(deskId)) val minimizationRoot = assertNotNull(organizer.deskMinimizationRootsByDeskId[deskId]) return DeskRoots(deskRoot, minimizationRoot) Loading Loading @@ -804,5 +819,6 @@ class RootTaskDesksOrganizerTest : ShellTestCase() { private const val PRIMARY_USER_ID = 10 private const val SECONDARY_USER_ID = 11 private const val TEST_CHILD_TASK_ID = 100 private const val SECOND_DISPLAY = 2 } } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/multidesks/RootTaskDesksOrganizer.kt +1 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ class RootTaskDesksOrganizer( .asSequence() .filterNot { desk -> userId in desk.users } .filterNot { desk -> desk.deskId in removeDeskRootRequests } .filter { desk -> desk.taskInfo.displayId == displayId } .firstOrNull() if (unassignedDesk != null) { unassignedDesk.users.add(userId) Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/multidesks/RootTaskDesksOrganizerTest.kt +19 −3 Original line number Diff line number Diff line Loading @@ -107,6 +107,15 @@ class RootTaskDesksOrganizerTest : ShellTestCase() { assertThat(desk2.deskRoot.deskId).isNotEqualTo(desk.deskRoot.deskId) } @Test fun testCreateDesk_rootExistsForOtherUser_inOtherDisplay_doesNotReuseRoot() = runTest { val desk = createDeskSuspending(userId = PRIMARY_USER_ID, displayId = DEFAULT_DISPLAY) val desk2 = createDeskSuspending(userId = SECONDARY_USER_ID, displayId = SECOND_DISPLAY) assertThat(desk2.deskRoot.deskId).isNotEqualTo(desk.deskRoot.deskId) } @Test fun testCreateMinimizationRoot_marksHidden() = runTest { val desk = createDeskSuspending() Loading Loading @@ -743,18 +752,24 @@ class RootTaskDesksOrganizerTest : ShellTestCase() { private suspend fun createDeskSuspending( visible: Boolean = true, userId: Int = PRIMARY_USER_ID, displayId: Int = DEFAULT_DISPLAY, ): DeskRoots { val freeformRootTask = createFreeformTask().apply { parentTaskId = -1 isVisible = visible isVisibleRequested = visible this.displayId = displayId } val minimizationRootTask = createFreeformTask().apply { parentTaskId = -1 this.displayId = displayId } val minimizationRootTask = createFreeformTask().apply { parentTaskId = -1 } Mockito.reset(mockShellTaskOrganizer) whenever( mockShellTaskOrganizer.createRootTask( DEFAULT_DISPLAY, displayId, WINDOWING_MODE_FREEFORM, organizer, true, Loading @@ -768,7 +783,7 @@ class RootTaskDesksOrganizerTest : ShellTestCase() { val listener = (invocation.arguments[2] as TaskListener) listener.onTaskAppeared(minimizationRootTask, SurfaceControl()) } val deskId = organizer.createDeskSuspending(DEFAULT_DISPLAY, userId) val deskId = organizer.createDeskSuspending(displayId, userId) val deskRoot = assertNotNull(organizer.deskRootsByDeskId.get(deskId)) val minimizationRoot = assertNotNull(organizer.deskMinimizationRootsByDeskId[deskId]) return DeskRoots(deskRoot, minimizationRoot) Loading Loading @@ -804,5 +819,6 @@ class RootTaskDesksOrganizerTest : ShellTestCase() { private const val PRIMARY_USER_ID = 10 private const val SECONDARY_USER_ID = 11 private const val TEST_CHILD_TASK_ID = 100 private const val SECOND_DISPLAY = 2 } }