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

Commit a290759e authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Merge "Update listeners of stashed state after add" into udc-qpr-dev...

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

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23524744



Change-Id: I1f7925811908e1e1a4044325de5ebe13deb828b1
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents b650ef75 656dc387
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)