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

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

Merge "Update listeners of stashed state after add" into udc-qpr-dev am: d8b36828

parents c57d3828 d8b36828
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -87,8 +87,10 @@ class DesktopModeTaskRepository {
        visibleTasksListeners[visibleTasksListener] = executor
        displayData.keyIterator().forEach { displayId ->
            val visibleTasks = getVisibleTaskCount(displayId)
            val stashed = isStashed(displayId)
            executor.execute {
                visibleTasksListener.onVisibilityChanged(displayId, visibleTasks > 0)
                visibleTasksListener.onStashedChanged(displayId, stashed)
            }
        }
    }
+9 −4
Original line number Diff line number Diff line
@@ -764,16 +764,21 @@ class DesktopTasksController(

        private val listener: VisibleTasksListener = object : VisibleTasksListener {
            override fun onVisibilityChanged(displayId: Int, visible: Boolean) {
                // TODO(b/261234402): move visibility from sysui state to listener
                KtProtoLog.v(
                        WM_SHELL_DESKTOP_MODE,
                        "IDesktopModeImpl: onVisibilityChanged display=%d visible=%b",
                        displayId,
                        visible
                )
                remoteListener.call { l -> l.onVisibilityChanged(displayId, visible) }
            }

            override fun onStashedChanged(displayId: Int, stashed: Boolean) {
                KtProtoLog.v(
                        WM_SHELL_DESKTOP_MODE,
                        "IDesktopModeImpl: onStashedChanged stashed=%b display=%d",
                        stashed,
                        displayId
                        "IDesktopModeImpl: onStashedChanged display=%d stashed=%b",
                        displayId,
                        stashed
                )
                remoteListener.call { l -> l.onStashedChanged(displayId, stashed) }
            }
+12 −0
Original line number Diff line number Diff line
@@ -128,6 +128,18 @@ class DesktopModeTaskRepositoryTest : ShellTestCase() {
        assertThat(listener.visibleChangesOnDefaultDisplay).isEqualTo(1)
    }

    @Test
    fun addListener_notifiesStashed() {
        repo.setStashed(DEFAULT_DISPLAY, true)
        val listener = TestVisibilityListener()
        val executor = TestShellExecutor()
        repo.addVisibleTasksListener(listener, executor)
        executor.flushAll()

        assertThat(listener.stashedOnDefaultDisplay).isTrue()
        assertThat(listener.stashedChangesOnDefaultDisplay).isEqualTo(1)
    }

    @Test
    fun addListener_tasksOnDifferentDisplay_doesNotNotify() {
        repo.updateVisibleFreeformTasks(SECOND_DISPLAY, taskId = 1, visible = true)