diff --git a/quickstep/src/com/android/quickstep/recents/ui/viewmodel/TaskViewModel.kt b/quickstep/src/com/android/quickstep/recents/ui/viewmodel/TaskViewModel.kt index 049556af28..8e67c10e6c 100644 --- a/quickstep/src/com/android/quickstep/recents/ui/viewmodel/TaskViewModel.kt +++ b/quickstep/src/com/android/quickstep/recents/ui/viewmodel/TaskViewModel.kt @@ -94,15 +94,16 @@ class TaskViewModel( } private val overlayEnabled = - if (taskViewType == TaskViewType.DESKTOP) { - flowOf(false) - } else { - combine(recentsViewData.overlayEnabled, recentsViewData.settledFullyVisibleTaskIds) { - isOverlayEnabled, - settledFullyVisibleTaskIds -> - isOverlayEnabled && settledFullyVisibleTaskIds.any { it in taskIds.value } - } - .distinctUntilChanged() + when (taskViewType) { + TaskViewType.SINGLE -> + combine( + recentsViewData.overlayEnabled, + recentsViewData.settledFullyVisibleTaskIds, + ) { isOverlayEnabled, settledFullyVisibleTaskIds -> + isOverlayEnabled && settledFullyVisibleTaskIds.any { it in taskIds.value } + } + .distinctUntilChanged() + else -> flowOf(false) } private val preThreadingImprovedState: Flow = @@ -126,10 +127,11 @@ class TaskViewModel( val taskIds = taskModels.map { it.first }.toSet() val isCentralTask = taskIds == centralTaskIds val overlayEnabled = - if (taskViewType == TaskViewType.DESKTOP) { - false - } else { - isOverlayEnabled && settledFullyVisibleTaskIds.any { it in taskIds } + when (taskViewType) { + TaskViewType.SINGLE -> { + isOverlayEnabled && settledFullyVisibleTaskIds.any { it in taskIds } + } + else -> false } val isLiveTile = runningTaskIds == taskIds && !runningTaskShowScreenshot val taskData = mapToTaskData(taskModels, isLiveTile) diff --git a/quickstep/tests/multivalentTests/src/com/android/quickstep/recents/ui/viewmodel/TaskViewModelTest.kt b/quickstep/tests/multivalentTests/src/com/android/quickstep/recents/ui/viewmodel/TaskViewModelTest.kt index 9eb1f11fa7..b499a1d66e 100644 --- a/quickstep/tests/multivalentTests/src/com/android/quickstep/recents/ui/viewmodel/TaskViewModelTest.kt +++ b/quickstep/tests/multivalentTests/src/com/android/quickstep/recents/ui/viewmodel/TaskViewModelTest.kt @@ -305,6 +305,17 @@ class TaskViewModelTest { assertThat(sut.state.first().taskOverlayEnabled).isFalse() } + @Test + fun taskOverlayDisabled_when_OverlayIsEnabledForVisibleGroupedTask() = + testScope.runTest { + sut = createTaskViewModel(TaskViewType.GROUPED) + sut.bind(TASK_MODEL_1.id) + recentsViewData.overlayEnabled.value = true + recentsViewData.settledFullyVisibleTaskIds.value = setOf(1) + + assertThat(sut.state.first().taskOverlayEnabled).isFalse() + } + @Test fun isCentralTask_when_CentralTaskIdsMatchTaskIds() = testScope.runTest {