diff options
7 files changed, 96 insertions, 125 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopMixedTransitionHandler.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopMixedTransitionHandler.kt index df9fc59b925e..dba46d0c234a 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopMixedTransitionHandler.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopMixedTransitionHandler.kt @@ -138,7 +138,7 @@ class DesktopMixedTransitionHandler( private fun isLastDesktopTask(change: TransitionInfo.Change): Boolean = change.taskInfo?.let { - desktopRepository.getActiveNonMinimizedTaskCount(it.displayId) == 1 + desktopRepository.getExpandedTaskCount(it.displayId) == 1 } ?: false private fun findCloseDesktopTaskChange(info: TransitionInfo): TransitionInfo.Change? { diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopRepository.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopRepository.kt index 443e4179b524..a92c77750790 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopRepository.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopRepository.kt @@ -262,11 +262,11 @@ class DesktopRepository ( ArraySet(desktopTaskDataByDisplayId[displayId]?.minimizedTasks) /** Returns all active non-minimized tasks for [displayId] ordered from top to bottom. */ - fun getActiveNonMinimizedOrderedTasks(displayId: Int): List<Int> = + fun getExpandedTasksOrdered(displayId: Int): List<Int> = getFreeformTasksInZOrder(displayId).filter { !isMinimizedTask(it) } /** Returns the count of active non-minimized tasks for [displayId]. */ - fun getActiveNonMinimizedTaskCount(displayId: Int): Int { + fun getExpandedTaskCount(displayId: Int): Int { return getActiveTasks(displayId).count { !isMinimizedTask(it) } } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt index b505bee469fe..9a03f0fbac3a 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt @@ -644,7 +644,7 @@ class DesktopTasksController( remoteTransition: RemoteTransition?, ): IBinder { val taskToMinimize: RunningTaskInfo? = - addAndGetMinimizeChangesIfNeeded(DEFAULT_DISPLAY, wct, taskId) + addAndGetMinimizeChanges(DEFAULT_DISPLAY, wct, taskId) if (remoteTransition == null) { val t = transitions.startTransition(transitionType, wct, null /* handler */) addPendingMinimizeTransition(t, taskToMinimize) @@ -847,7 +847,7 @@ class DesktopTasksController( excludeTaskId: Int? = null, ): Boolean { val doesAnyTaskRequireTaskbarRounding = - taskRepository.getActiveNonMinimizedOrderedTasks(displayId) + taskRepository.getExpandedTasksOrdered(displayId) // exclude current task since maximize/restore transition has not taken place yet. .filterNot { taskId -> taskId == excludeTaskId } .any { taskId -> @@ -999,23 +999,23 @@ class DesktopTasksController( addWallpaperActivity(wct) } - val nonMinimizedTasksOrderedFrontToBack = - taskRepository.getActiveNonMinimizedOrderedTasks(displayId) + val expandedTasksOrderedFrontToBack = + taskRepository.getExpandedTasksOrdered(displayId) // If we're adding a new Task we might need to minimize an old one // TODO(b/365725441): Handle non running task minimization val taskToMinimize: RunningTaskInfo? = if (newTaskIdInFront != null && desktopTasksLimiter.isPresent) { desktopTasksLimiter .get() - .getTaskToMinimizeIfNeeded( - nonMinimizedTasksOrderedFrontToBack, + .getTaskToMinimize( + expandedTasksOrderedFrontToBack, newTaskIdInFront ) } else { null } - nonMinimizedTasksOrderedFrontToBack + expandedTasksOrderedFrontToBack // If there is a Task to minimize, let it stay behind the Home Task .filter { taskId -> taskId != taskToMinimize?.taskId } .reversed() // Start from the back so the front task is brought forward last @@ -1374,7 +1374,7 @@ class DesktopTasksController( // 1) Exit immersive if needed. immersiveTransitionHandler.exitImmersiveIfApplicable(transition, wct, task.displayId) // 2) minimize a Task if needed. - val taskToMinimize = addAndGetMinimizeChangesIfNeeded(task.displayId, wct, task.taskId) + val taskToMinimize = addAndGetMinimizeChanges(task.displayId, wct, task.taskId) if (taskToMinimize != null) { addPendingMinimizeTransition(transition, taskToMinimize) return wct @@ -1401,7 +1401,7 @@ class DesktopTasksController( // Desktop Mode is already showing and we're launching a new Task - we might need to // minimize another Task. val taskToMinimize = - addAndGetMinimizeChangesIfNeeded(task.displayId, wct, task.taskId) + addAndGetMinimizeChanges(task.displayId, wct, task.taskId) addPendingMinimizeTransition(transition, taskToMinimize) immersiveTransitionHandler.exitImmersiveIfApplicable( transition, wct, task.displayId @@ -1529,7 +1529,7 @@ class DesktopTasksController( val stableBounds = Rect() displayLayout.getStableBoundsForDesktopMode(stableBounds) - val activeTasks = taskRepository.getActiveNonMinimizedOrderedTasks(displayId) + val activeTasks = taskRepository.getExpandedTasksOrdered(displayId) activeTasks.firstOrNull()?.let { activeTask -> shellTaskOrganizer.getRunningTaskInfo(activeTask)?.let { cascadeWindow(context.resources, stableBounds, @@ -1558,7 +1558,7 @@ class DesktopTasksController( } /** Returns the ID of the Task that will be minimized, or null if no task will be minimized. */ - private fun addAndGetMinimizeChangesIfNeeded( + private fun addAndGetMinimizeChanges( displayId: Int, wct: WindowContainerTransaction, newTaskId: Int @@ -1566,7 +1566,7 @@ class DesktopTasksController( if (!desktopTasksLimiter.isPresent) return null return desktopTasksLimiter .get() - .addAndGetMinimizeTaskChangesIfNeeded(displayId, wct, newTaskId) + .addAndGetMinimizeTaskChanges(displayId, wct, newTaskId) } private fun addPendingMinimizeTransition( diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt index d6b721253abf..cd28a4fa67ec 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt @@ -30,7 +30,7 @@ import com.android.internal.jank.Cuj.CUJ_DESKTOP_MODE_MINIMIZE_WINDOW import com.android.internal.jank.InteractionJankMonitor import com.android.internal.protolog.ProtoLog import com.android.wm.shell.ShellTaskOrganizer -import com.android.wm.shell.protolog.ShellProtoLogGroup +import com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE import com.android.wm.shell.shared.annotations.ShellMainThread import com.android.wm.shell.transition.Transitions import com.android.wm.shell.transition.Transitions.TransitionObserver @@ -57,13 +57,11 @@ class DesktopTasksLimiter ( init { require(maxTasksLimit > 0) { - "DesktopTasksLimiter should not be created with a maxTasksLimit at 0 or less. " + - "Current value: $maxTasksLimit." + "DesktopTasksLimiter: maxTasksLimit should be greater than 0. Current value: $maxTasksLimit." } transitions.registerObserver(minimizeTransitionObserver) taskRepository.addActiveTaskListener(leftoverMinimizedTasksRemover) - ProtoLog.v(ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE, - "DesktopTasksLimiter: starting limiter with a maximum of %d tasks", maxTasksLimit) + logV("Starting limiter with a maximum of %d tasks", maxTasksLimit) } private data class TaskDetails( @@ -88,20 +86,14 @@ class DesktopTasksLimiter ( finishTransaction: SurfaceControl.Transaction ) { val taskToMinimize = pendingTransitionTokensAndTasks.remove(transition) ?: return - if (!taskRepository.isActiveTask(taskToMinimize.taskId)) return - - if (!isTaskReorderedToBackOrInvisible(info, taskToMinimize)) { - ProtoLog.v( - ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE, - "DesktopTasksLimiter: task %d is not reordered to back nor invis", - taskToMinimize.taskId) + if (!isTaskReadyForMinimize(info, taskToMinimize)) { + logV("task %d is not reordered to back nor invis", taskToMinimize.taskId) return } - taskToMinimize.transitionInfo = info activeTransitionTokensAndTasks[transition] = taskToMinimize - this@DesktopTasksLimiter.markTaskMinimized( + this@DesktopTasksLimiter.minimizeTask( taskToMinimize.displayId, taskToMinimize.taskId) } @@ -109,18 +101,15 @@ class DesktopTasksLimiter ( * Returns whether the Task [taskDetails] is being reordered to the back in the transition * [info], or is already invisible. * - * This check can be used to double-check that a task was indeed minimized before - * marking it as such. + * This check confirms a task should be minimized before minimizing it. */ - private fun isTaskReorderedToBackOrInvisible( - info: TransitionInfo, - taskDetails: TaskDetails + private fun isTaskReadyForMinimize( + info: TransitionInfo, + taskDetails: TaskDetails ): Boolean { val taskChange = info.changes.find { change -> change.taskInfo?.taskId == taskDetails.taskId } - if (taskChange == null) { - return !taskRepository.isVisibleTask(taskDetails.taskId) - } + if (taskChange == null) return !taskRepository.isVisibleTask(taskDetails.taskId) return taskChange.mode == TRANSIT_TO_BACK } @@ -145,9 +134,7 @@ class DesktopTasksLimiter ( } override fun onTransitionFinished(transition: IBinder, aborted: Boolean) { - ProtoLog.v( - ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE, - "DesktopTasksLimiter: transition %s finished", transition) + logV("transition %s finished", transition) if (activeTransitionTokensAndTasks.remove(transition) != null) { if (aborted) { interactionJankMonitor.cancel(CUJ_DESKTOP_MODE_MINIMIZE_WINDOW) @@ -170,18 +157,11 @@ class DesktopTasksLimiter ( } fun removeLeftoverMinimizedTasks(displayId: Int, wct: WindowContainerTransaction) { - if (taskRepository.getActiveNonMinimizedOrderedTasks(displayId).isNotEmpty()) { - return - } + if (taskRepository.getExpandedTasksOrdered(displayId).isNotEmpty()) return val remainingMinimizedTasks = taskRepository.getMinimizedTasks(displayId) - if (remainingMinimizedTasks.isEmpty()) { - return - } - ProtoLog.v( - ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE, - "DesktopTasksLimiter: removing leftover minimized tasks: %s", - remainingMinimizedTasks, - ) + if (remainingMinimizedTasks.isEmpty()) return + + logV("Removing leftover minimized tasks: %s", remainingMinimizedTasks) remainingMinimizedTasks.forEach { taskIdToRemove -> val taskToRemove = shellTaskOrganizer.getRunningTaskInfo(taskIdToRemove) if (taskToRemove != null) { @@ -192,35 +172,30 @@ class DesktopTasksLimiter ( } /** - * Mark [taskId], which must be on [displayId], as minimized, this should only be done after the - * corresponding transition has finished so we don't minimize the task if the transition fails. + * Mark task with [taskId] on [displayId] as minimized. + * + * This should be after the corresponding transition has finished so we don't + * minimize the task if the transition fails. */ - private fun markTaskMinimized(displayId: Int, taskId: Int) { - ProtoLog.v( - ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE, - "DesktopTasksLimiter: marking %d as minimized", taskId) + private fun minimizeTask(displayId: Int, taskId: Int) { + logV("Minimize taskId=%d, displayId=%d", taskId, displayId) taskRepository.minimizeTask(displayId, taskId) } /** - * Add a minimize-transition to [wct] if adding [newFrontTaskInfo] brings us over the task + * Adds a minimize-transition to [wct] if adding [newFrontTaskInfo] crosses task * limit, returning the task to minimize. - * - * The task must be on [displayId]. */ - fun addAndGetMinimizeTaskChangesIfNeeded( + fun addAndGetMinimizeTaskChanges( displayId: Int, wct: WindowContainerTransaction, newFrontTaskId: Int, ): RunningTaskInfo? { - ProtoLog.v( - ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE, - "DesktopTasksLimiter: addMinimizeBackTaskChangesIfNeeded, newFrontTask=%d", - newFrontTaskId) - val newTaskListOrderedFrontToBack = createOrderedTaskListWithGivenTaskInFront( - taskRepository.getActiveNonMinimizedOrderedTasks(displayId), - newFrontTaskId) - val taskToMinimize = getTaskToMinimizeIfNeeded(newTaskListOrderedFrontToBack) + logV("addAndGetMinimizeTaskChanges, newFrontTask=%d", newFrontTaskId) + // This list is ordered from front to back. + val newTaskOrderedList = createOrderedTaskListWithNewTask( + taskRepository.getExpandedTasksOrdered(displayId), newFrontTaskId) + val taskToMinimize = getTaskToMinimize(newTaskOrderedList) if (taskToMinimize != null) { wct.reorder(taskToMinimize.token, false /* onTop */) return taskToMinimize @@ -229,7 +204,7 @@ class DesktopTasksLimiter ( } /** - * Add a pending minimize transition change, to update the list of minimized apps once the + * Add a pending minimize transition change to update the list of minimized apps once the * transition goes through. */ fun addPendingMinimizeChange(transition: IBinder, displayId: Int, taskId: Int) { @@ -238,51 +213,47 @@ class DesktopTasksLimiter ( } /** - * Returns the Task to minimize given 1. a list of visible tasks ordered from front to back and - * 2. a new task placed in front of all the others. + * Returns the minimized task from the list of visible tasks ordered from front to back with + * the new task placed in front of other tasks. */ - fun getTaskToMinimizeIfNeeded( - visibleFreeformTaskIdsOrderedFrontToBack: List<Int>, + fun getTaskToMinimize( + visibleOrderedTasks: List<Int>, newTaskIdInFront: Int - ): RunningTaskInfo? { - return getTaskToMinimizeIfNeeded( - createOrderedTaskListWithGivenTaskInFront( - visibleFreeformTaskIdsOrderedFrontToBack, newTaskIdInFront)) - } + ): RunningTaskInfo? = + getTaskToMinimize(createOrderedTaskListWithNewTask(visibleOrderedTasks, newTaskIdInFront)) /** Returns the Task to minimize given a list of visible tasks ordered from front to back. */ - fun getTaskToMinimizeIfNeeded( - visibleFreeformTaskIdsOrderedFrontToBack: List<Int> - ): RunningTaskInfo? { - if (visibleFreeformTaskIdsOrderedFrontToBack.size <= maxTasksLimit) { - ProtoLog.v( - ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE, - "DesktopTasksLimiter: no need to minimize; tasks below limit") - // No need to minimize anything + fun getTaskToMinimize(visibleOrderedTasks: List<Int>): RunningTaskInfo? { + if (visibleOrderedTasks.size <= maxTasksLimit) { + logV("No need to minimize; tasks below limit") return null } - val taskIdToMinimize = visibleFreeformTaskIdsOrderedFrontToBack.last() + val taskIdToMinimize = visibleOrderedTasks.last() val taskToMinimize = shellTaskOrganizer.getRunningTaskInfo(taskIdToMinimize) if (taskToMinimize == null) { - ProtoLog.e( - ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE, - "DesktopTasksLimiter: taskToMinimize(taskId = %d) == null", - taskIdToMinimize, - ) + logE("taskToMinimize(taskId = %d) == null", taskIdToMinimize) return null } return taskToMinimize } - private fun createOrderedTaskListWithGivenTaskInFront( - existingTaskIdsOrderedFrontToBack: List<Int>, - newTaskId: Int - ): List<Int> { - return listOf(newTaskId) + - existingTaskIdsOrderedFrontToBack.filter { taskId -> taskId != newTaskId } - } + private fun createOrderedTaskListWithNewTask( + orderedTaskIds: List<Int>, newTaskId: Int): List<Int> = + listOf(newTaskId) + orderedTaskIds.filter { taskId -> taskId != newTaskId } @VisibleForTesting fun getTransitionObserver(): TransitionObserver = minimizeTransitionObserver -}
\ No newline at end of file + + private fun logV(msg: String, vararg arguments: Any?) { + ProtoLog.v(WM_SHELL_DESKTOP_MODE, "%s: $msg", TAG, *arguments) + } + + private fun logE(msg: String, vararg arguments: Any?) { + ProtoLog.e(WM_SHELL_DESKTOP_MODE, "%s: $msg", TAG, *arguments) + } + + private companion object { + const val TAG = "DesktopTasksLimiter" + } +} diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopMixedTransitionHandlerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopMixedTransitionHandlerTest.kt index 81d59d586dd3..50368377691f 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopMixedTransitionHandlerTest.kt +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopMixedTransitionHandlerTest.kt @@ -147,7 +147,7 @@ class DesktopMixedTransitionHandlerTest : ShellTestCase() { fun startAnimation_withClosingDesktopTask_callsCloseTaskHandler() { val transition = mock<IBinder>() val transitionInfo = createTransitionInfo(task = createTask(WINDOWING_MODE_FREEFORM)) - whenever(desktopRepository.getActiveNonMinimizedTaskCount(any())).thenReturn(2) + whenever(desktopRepository.getExpandedTaskCount(any())).thenReturn(2) whenever( closeDesktopTaskTransitionHandler.startAnimation(any(), any(), any(), any(), any()) ) @@ -170,7 +170,7 @@ class DesktopMixedTransitionHandlerTest : ShellTestCase() { fun startAnimation_withClosingLastDesktopTask_dispatchesTransition() { val transition = mock<IBinder>() val transitionInfo = createTransitionInfo(task = createTask(WINDOWING_MODE_FREEFORM)) - whenever(desktopRepository.getActiveNonMinimizedTaskCount(any())).thenReturn(1) + whenever(desktopRepository.getExpandedTaskCount(any())).thenReturn(1) whenever(transitions.dispatchTransition(any(), any(), any(), any(), any(), any())) .thenReturn(mock()) diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopRepositoryTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopRepositoryTest.kt index 3e2280393c2b..d90443c99d37 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopRepositoryTest.kt +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopRepositoryTest.kt @@ -898,7 +898,7 @@ class DesktopRepositoryTest : ShellTestCase() { } @Test - fun getActiveNonMinimizedOrderedTasks_returnsFreeformTasksInCorrectOrder() { + fun getExpandedTasksOrdered_returnsFreeformTasksInCorrectOrder() { repo.addActiveTask(displayId = DEFAULT_DISPLAY, taskId = 1) repo.addActiveTask(displayId = DEFAULT_DISPLAY, taskId = 2) repo.addActiveTask(displayId = DEFAULT_DISPLAY, taskId = 3) @@ -907,13 +907,13 @@ class DesktopRepositoryTest : ShellTestCase() { repo.addOrMoveFreeformTaskToTop(displayId = 0, taskId = 2) repo.addOrMoveFreeformTaskToTop(displayId = 0, taskId = 1) - val tasks = repo.getActiveNonMinimizedOrderedTasks(displayId = 0) + val tasks = repo.getExpandedTasksOrdered(displayId = 0) assertThat(tasks).containsExactly(1, 2, 3).inOrder() } @Test - fun getActiveNonMinimizedOrderedTasks_excludesMinimizedTasks() { + fun getExpandedTasksOrdered_excludesMinimizedTasks() { repo.addActiveTask(displayId = DEFAULT_DISPLAY, taskId = 1) repo.addActiveTask(displayId = DEFAULT_DISPLAY, taskId = 2) repo.addActiveTask(displayId = DEFAULT_DISPLAY, taskId = 3) @@ -923,7 +923,7 @@ class DesktopRepositoryTest : ShellTestCase() { repo.addOrMoveFreeformTaskToTop(displayId = DEFAULT_DISPLAY, taskId = 1) repo.minimizeTask(displayId = DEFAULT_DISPLAY, taskId = 2) - val tasks = repo.getActiveNonMinimizedOrderedTasks(displayId = DEFAULT_DISPLAY) + val tasks = repo.getExpandedTasksOrdered(displayId = DEFAULT_DISPLAY) assertThat(tasks).containsExactly(1, 3).inOrder() } diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksLimiterTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksLimiterTest.kt index 596b76dbdb2e..fa878d0bb077 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksLimiterTest.kt +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksLimiterTest.kt @@ -303,12 +303,12 @@ class DesktopTasksLimiterTest : ShellTestCase() { } @Test - fun addAndGetMinimizeTaskChangesIfNeeded_tasksWithinLimit_noTaskMinimized() { + fun addAndGetMinimizeTaskChanges_tasksWithinLimit_noTaskMinimized() { (1..<MAX_TASK_LIMIT).forEach { _ -> setUpFreeformTask() } val wct = WindowContainerTransaction() val minimizedTaskId = - desktopTasksLimiter.addAndGetMinimizeTaskChangesIfNeeded( + desktopTasksLimiter.addAndGetMinimizeTaskChanges( displayId = DEFAULT_DISPLAY, wct = wct, newFrontTaskId = setUpFreeformTask().taskId) @@ -318,13 +318,13 @@ class DesktopTasksLimiterTest : ShellTestCase() { } @Test - fun addAndGetMinimizeTaskChangesIfNeeded_tasksAboveLimit_backTaskMinimized() { + fun addAndGetMinimizeTaskChanges_tasksAboveLimit_backTaskMinimized() { // The following list will be ordered bottom -> top, as the last task is moved to top last. val tasks = (1..MAX_TASK_LIMIT).map { setUpFreeformTask() } val wct = WindowContainerTransaction() val minimizedTaskId = - desktopTasksLimiter.addAndGetMinimizeTaskChangesIfNeeded( + desktopTasksLimiter.addAndGetMinimizeTaskChanges( displayId = DEFAULT_DISPLAY, wct = wct, newFrontTaskId = setUpFreeformTask().taskId) @@ -336,13 +336,13 @@ class DesktopTasksLimiterTest : ShellTestCase() { } @Test - fun addAndGetMinimizeTaskChangesIfNeeded_nonMinimizedTasksWithinLimit_noTaskMinimized() { + fun addAndGetMinimizeTaskChanges_nonMinimizedTasksWithinLimit_noTaskMinimized() { val tasks = (1..MAX_TASK_LIMIT).map { setUpFreeformTask() } desktopTaskRepo.minimizeTask(displayId = DEFAULT_DISPLAY, taskId = tasks[0].taskId) val wct = WindowContainerTransaction() val minimizedTaskId = - desktopTasksLimiter.addAndGetMinimizeTaskChangesIfNeeded( + desktopTasksLimiter.addAndGetMinimizeTaskChanges( displayId = 0, wct = wct, newFrontTaskId = setUpFreeformTask().taskId) @@ -352,46 +352,46 @@ class DesktopTasksLimiterTest : ShellTestCase() { } @Test - fun getTaskToMinimizeIfNeeded_tasksWithinLimit_returnsNull() { + fun getTaskToMinimize_tasksWithinLimit_returnsNull() { val tasks = (1..MAX_TASK_LIMIT).map { setUpFreeformTask() } - val minimizedTask = desktopTasksLimiter.getTaskToMinimizeIfNeeded( - visibleFreeformTaskIdsOrderedFrontToBack = tasks.map { it.taskId }) + val minimizedTask = desktopTasksLimiter.getTaskToMinimize( + visibleOrderedTasks = tasks.map { it.taskId }) assertThat(minimizedTask).isNull() } @Test - fun getTaskToMinimizeIfNeeded_tasksAboveLimit_returnsBackTask() { + fun getTaskToMinimize_tasksAboveLimit_returnsBackTask() { val tasks = (1..MAX_TASK_LIMIT + 1).map { setUpFreeformTask() } - val minimizedTask = desktopTasksLimiter.getTaskToMinimizeIfNeeded( - visibleFreeformTaskIdsOrderedFrontToBack = tasks.map { it.taskId }) + val minimizedTask = desktopTasksLimiter.getTaskToMinimize( + visibleOrderedTasks = tasks.map { it.taskId }) // first == front, last == back assertThat(minimizedTask).isEqualTo(tasks.last()) } @Test - fun getTaskToMinimizeIfNeeded_tasksAboveLimit_otherLimit_returnsBackTask() { + fun getTaskToMinimize_tasksAboveLimit_otherLimit_returnsBackTask() { desktopTasksLimiter = DesktopTasksLimiter(transitions, desktopTaskRepo, shellTaskOrganizer, MAX_TASK_LIMIT2, interactionJankMonitor, mContext, handler) val tasks = (1..MAX_TASK_LIMIT2 + 1).map { setUpFreeformTask() } - val minimizedTask = desktopTasksLimiter.getTaskToMinimizeIfNeeded( - visibleFreeformTaskIdsOrderedFrontToBack = tasks.map { it.taskId }) + val minimizedTask = desktopTasksLimiter.getTaskToMinimize( + visibleOrderedTasks = tasks.map { it.taskId }) // first == front, last == back assertThat(minimizedTask).isEqualTo(tasks.last()) } @Test - fun getTaskToMinimizeIfNeeded_withNewTask_tasksAboveLimit_returnsBackTask() { + fun getTaskToMinimize_withNewTask_tasksAboveLimit_returnsBackTask() { val tasks = (1..MAX_TASK_LIMIT).map { setUpFreeformTask() } - val minimizedTask = desktopTasksLimiter.getTaskToMinimizeIfNeeded( - visibleFreeformTaskIdsOrderedFrontToBack = tasks.map { it.taskId }, + val minimizedTask = desktopTasksLimiter.getTaskToMinimize( + visibleOrderedTasks = tasks.map { it.taskId }, newTaskIdInFront = setUpFreeformTask().taskId) // first == front, last == back |