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

Commit 626cf178 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Desks: Do not reuse other display's desks" into main

parents 946719a8 40e37494
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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)
+19 −3
Original line number Diff line number Diff line
@@ -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()
@@ -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,
@@ -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)
@@ -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
    }
}