Loading packages/SystemUI/src/com/android/systemui/mediaprojection/appselector/data/RecentTaskListProvider.kt +1 −1 Original line number Diff line number Diff line Loading @@ -65,7 +65,7 @@ constructor( it.topActivity, it.baseIntent?.component, it.taskDescription?.backgroundColor, isForegroundTask = it.taskId in foregroundTaskIds isForegroundTask = it.taskId in foregroundTaskIds && it.isVisible ) } } Loading packages/SystemUI/tests/src/com/android/systemui/mediaprojection/appselector/data/ShellRecentTaskListProviderTest.kt +53 −11 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ class ShellRecentTaskListProviderTest : SysuiTestCase() { @Test fun loadRecentTasks_singleTask_returnsTaskAsNotForeground() { givenRecentTasks( createSingleTask(taskId = 1), createSingleTask(taskId = 1, isVisible = true), ) val result = runBlocking { recentTaskListProvider.loadRecentTasks() } Loading @@ -90,10 +90,10 @@ class ShellRecentTaskListProviderTest : SysuiTestCase() { } @Test fun loadRecentTasks_multipleTasks_returnsSecondTaskAsForegroundTask() { fun loadRecentTasks_multipleTasks_returnsSecondVisibleTaskAsForegroundTask() { givenRecentTasks( createSingleTask(taskId = 1), createSingleTask(taskId = 2), createSingleTask(taskId = 2, isVisible = true), createSingleTask(taskId = 3), ) Loading @@ -103,10 +103,25 @@ class ShellRecentTaskListProviderTest : SysuiTestCase() { } @Test fun loadRecentTasks_secondTaskIsGrouped_marksBothGroupedTasksAsForeground() { fun loadRecentTasks_multipleTasks_returnsSecondInvisibleTaskAsNotForegroundTask() { givenRecentTasks( createSingleTask(taskId = 1), createTaskPair(taskId1 = 2, taskId2 = 3), createSingleTask(taskId = 2, isVisible = false), createSingleTask(taskId = 3), ) val result = runBlocking { recentTaskListProvider.loadRecentTasks() } assertThat(result.map { it.isForegroundTask }) .containsExactly(false, false, false) .inOrder() } @Test fun loadRecentTasks_secondTaskIsGroupedAndVisible_marksBothGroupedTasksAsForeground() { givenRecentTasks( createSingleTask(taskId = 1), createTaskPair(taskId1 = 2, taskId2 = 3, isVisible = true), createSingleTask(taskId = 4), ) Loading @@ -117,6 +132,21 @@ class ShellRecentTaskListProviderTest : SysuiTestCase() { .inOrder() } @Test fun loadRecentTasks_secondTaskIsGroupedAndInvisible_marksBothGroupedTasksAsNotForeground() { givenRecentTasks( createSingleTask(taskId = 1), createTaskPair(taskId1 = 2, taskId2 = 3, isVisible = false), createSingleTask(taskId = 4), ) val result = runBlocking { recentTaskListProvider.loadRecentTasks() } assertThat(result.map { it.isForegroundTask }) .containsExactly(false, false, false, false) .inOrder() } @Suppress("UNCHECKED_CAST") private fun givenRecentTasks(vararg tasks: GroupedRecentTaskInfo) { whenever(recentTasks.getRecentTasks(any(), any(), any(), any(), any())).thenAnswer { Loading @@ -136,11 +166,23 @@ class ShellRecentTaskListProviderTest : SysuiTestCase() { isForegroundTask = false, ) private fun createSingleTask(taskId: Int): GroupedRecentTaskInfo = GroupedRecentTaskInfo.forSingleTask(createTaskInfo(taskId)) private fun createTaskPair(taskId1: Int, taskId2: Int): GroupedRecentTaskInfo = GroupedRecentTaskInfo.forSplitTasks(createTaskInfo(taskId1), createTaskInfo(taskId2), null) private fun createSingleTask(taskId: Int, isVisible: Boolean = false): GroupedRecentTaskInfo = GroupedRecentTaskInfo.forSingleTask(createTaskInfo(taskId, isVisible)) private fun createTaskPair( taskId1: Int, taskId2: Int, isVisible: Boolean = false ): GroupedRecentTaskInfo = GroupedRecentTaskInfo.forSplitTasks( createTaskInfo(taskId1, isVisible), createTaskInfo(taskId2, isVisible), null ) private fun createTaskInfo(taskId: Int) = RecentTaskInfo().apply { this.taskId = taskId } private fun createTaskInfo(taskId: Int, isVisible: Boolean = false) = RecentTaskInfo().apply { this.taskId = taskId this.isVisible = isVisible } } Loading
packages/SystemUI/src/com/android/systemui/mediaprojection/appselector/data/RecentTaskListProvider.kt +1 −1 Original line number Diff line number Diff line Loading @@ -65,7 +65,7 @@ constructor( it.topActivity, it.baseIntent?.component, it.taskDescription?.backgroundColor, isForegroundTask = it.taskId in foregroundTaskIds isForegroundTask = it.taskId in foregroundTaskIds && it.isVisible ) } } Loading
packages/SystemUI/tests/src/com/android/systemui/mediaprojection/appselector/data/ShellRecentTaskListProviderTest.kt +53 −11 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ class ShellRecentTaskListProviderTest : SysuiTestCase() { @Test fun loadRecentTasks_singleTask_returnsTaskAsNotForeground() { givenRecentTasks( createSingleTask(taskId = 1), createSingleTask(taskId = 1, isVisible = true), ) val result = runBlocking { recentTaskListProvider.loadRecentTasks() } Loading @@ -90,10 +90,10 @@ class ShellRecentTaskListProviderTest : SysuiTestCase() { } @Test fun loadRecentTasks_multipleTasks_returnsSecondTaskAsForegroundTask() { fun loadRecentTasks_multipleTasks_returnsSecondVisibleTaskAsForegroundTask() { givenRecentTasks( createSingleTask(taskId = 1), createSingleTask(taskId = 2), createSingleTask(taskId = 2, isVisible = true), createSingleTask(taskId = 3), ) Loading @@ -103,10 +103,25 @@ class ShellRecentTaskListProviderTest : SysuiTestCase() { } @Test fun loadRecentTasks_secondTaskIsGrouped_marksBothGroupedTasksAsForeground() { fun loadRecentTasks_multipleTasks_returnsSecondInvisibleTaskAsNotForegroundTask() { givenRecentTasks( createSingleTask(taskId = 1), createTaskPair(taskId1 = 2, taskId2 = 3), createSingleTask(taskId = 2, isVisible = false), createSingleTask(taskId = 3), ) val result = runBlocking { recentTaskListProvider.loadRecentTasks() } assertThat(result.map { it.isForegroundTask }) .containsExactly(false, false, false) .inOrder() } @Test fun loadRecentTasks_secondTaskIsGroupedAndVisible_marksBothGroupedTasksAsForeground() { givenRecentTasks( createSingleTask(taskId = 1), createTaskPair(taskId1 = 2, taskId2 = 3, isVisible = true), createSingleTask(taskId = 4), ) Loading @@ -117,6 +132,21 @@ class ShellRecentTaskListProviderTest : SysuiTestCase() { .inOrder() } @Test fun loadRecentTasks_secondTaskIsGroupedAndInvisible_marksBothGroupedTasksAsNotForeground() { givenRecentTasks( createSingleTask(taskId = 1), createTaskPair(taskId1 = 2, taskId2 = 3, isVisible = false), createSingleTask(taskId = 4), ) val result = runBlocking { recentTaskListProvider.loadRecentTasks() } assertThat(result.map { it.isForegroundTask }) .containsExactly(false, false, false, false) .inOrder() } @Suppress("UNCHECKED_CAST") private fun givenRecentTasks(vararg tasks: GroupedRecentTaskInfo) { whenever(recentTasks.getRecentTasks(any(), any(), any(), any(), any())).thenAnswer { Loading @@ -136,11 +166,23 @@ class ShellRecentTaskListProviderTest : SysuiTestCase() { isForegroundTask = false, ) private fun createSingleTask(taskId: Int): GroupedRecentTaskInfo = GroupedRecentTaskInfo.forSingleTask(createTaskInfo(taskId)) private fun createTaskPair(taskId1: Int, taskId2: Int): GroupedRecentTaskInfo = GroupedRecentTaskInfo.forSplitTasks(createTaskInfo(taskId1), createTaskInfo(taskId2), null) private fun createSingleTask(taskId: Int, isVisible: Boolean = false): GroupedRecentTaskInfo = GroupedRecentTaskInfo.forSingleTask(createTaskInfo(taskId, isVisible)) private fun createTaskPair( taskId1: Int, taskId2: Int, isVisible: Boolean = false ): GroupedRecentTaskInfo = GroupedRecentTaskInfo.forSplitTasks( createTaskInfo(taskId1, isVisible), createTaskInfo(taskId2, isVisible), null ) private fun createTaskInfo(taskId: Int) = RecentTaskInfo().apply { this.taskId = taskId } private fun createTaskInfo(taskId: Int, isVisible: Boolean = false) = RecentTaskInfo().apply { this.taskId = taskId this.isVisible = isVisible } }