Merge "Update listeners of stashed state after add" into udc-qpr-dev
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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) }
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user