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

Commit 17fc2e92 authored by Jorge Gil's avatar Jorge Gil
Browse files

Fix |excludedDeskId| filter in removeActiveTask()

Fixes the filtering used to exclude a desk from the desks to remove a
task from that was mistakenly using |displayId| instead of |deskId|.

Flag: com.android.window.flags.enable_multiple_desktops_backend
Bug: 389960283
Test: atest WMShellUnitTests
Change-Id: I821a400a1ee070678ecb6afc6586bd86a0c24c38
parent 7d9d76cf
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -339,7 +339,7 @@ class DesktopRepository(
        val affectedDisplays = mutableSetOf<Int>()
        desktopData
            .desksSequence()
            .filter { desk -> desk.displayId != excludedDeskId }
            .filter { desk -> desk.deskId != excludedDeskId }
            .forEach { desk ->
                val removed = removeActiveTaskFromDesk(desk.deskId, taskId, notifyListeners = false)
                if (removed) {
+12 −0
Original line number Diff line number Diff line
@@ -274,6 +274,18 @@ class DesktopRepositoryTest(flags: FlagsParameterization) : ShellTestCase() {
        assertThat(repo.isActiveTask(1)).isFalse()
    }

    @Test
    @EnableFlags(FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
    fun removeActiveTask_excludingDesk_leavesTaskInDesk() {
        repo.addDesk(displayId = 2, deskId = 11)
        repo.addDesk(displayId = 3, deskId = 12)
        repo.addTaskToDesk(displayId = 3, deskId = 12, taskId = 100, isVisible = true)

        repo.removeActiveTask(taskId = 100, excludedDeskId = 12)

        assertThat(repo.getActiveTaskIdsInDesk(12)).contains(100)
    }

    @Test
    fun isActiveTask_nonExistingTask_returnsFalse() {
        assertThat(repo.isActiveTask(99)).isFalse()