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

Commit bc489152 authored by Gustav Sennton's avatar Gustav Sennton
Browse files

Log minimize reason on task limit minimize transition.

Bug: 356337427
Flag: com.android.window.flags.enable_desktop_task_limit_separate_transition
Test: DesktopModeLoggerTransitionObserverTest
Change-Id: I76e0c967ba34aa0d8795dd646eea378a6e7198c0
parent 6f217edf
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ import com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.Minimiz
import com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.TaskUpdate
import com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.UnminimizeReason
import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_DESKTOP_MODE_END_DRAG_TO_DESKTOP
import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_DESKTOP_MODE_TASK_LIMIT_MINIMIZE
import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_ENTER_DESKTOP_FROM_APP_FROM_OVERVIEW
import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_ENTER_DESKTOP_FROM_APP_HANDLE_MENU_BUTTON
import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_ENTER_DESKTOP_FROM_KEYBOARD_SHORTCUT
@@ -411,6 +412,9 @@ class DesktopModeLoggerTransitionObserver(
        if (transitionInfo?.type == Transitions.TRANSIT_MINIMIZE) {
            return MinimizeReason.MINIMIZE_BUTTON
        }
        if (transitionInfo?.type == TRANSIT_DESKTOP_MODE_TASK_LIMIT_MINIMIZE) {
            return MinimizeReason.TASK_LIMIT
        }
        val minimizingTask =
            transition?.let { desktopTasksLimiter.getOrNull()?.getMinimizingTask(transition) }
        if (minimizingTask?.taskId == taskInfo.taskId) {
+28 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ import com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.Minimiz
import com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.TaskUpdate
import com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.UnminimizeReason
import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_DESKTOP_MODE_END_DRAG_TO_DESKTOP
import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_DESKTOP_MODE_TASK_LIMIT_MINIMIZE
import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_ENTER_DESKTOP_FROM_APP_FROM_OVERVIEW
import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_ENTER_DESKTOP_FROM_APP_HANDLE_MENU_BUTTON
import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_ENTER_DESKTOP_FROM_KEYBOARD_SHORTCUT
@@ -860,6 +861,33 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
            )
    }

    @Test
    fun onTransitionReady_taskLimitMinimizeTransitionType_logsTaskMinimized() {
        val taskInfo2 = createTaskInfo(WINDOWING_MODE_FREEFORM, id = 2)
        transitionObserver.apply {
            isSessionActive = true
            addTaskInfosToCachedMap(createTaskInfo(WINDOWING_MODE_FREEFORM, id = 1))
            addTaskInfosToCachedMap(taskInfo2)
        }
        val transitionInfo =
            TransitionInfoBuilder(TRANSIT_DESKTOP_MODE_TASK_LIMIT_MINIMIZE, /* flags= */ 0)
                .addChange(createChange(TRANSIT_TO_BACK, taskInfo2))
                .build()

        callOnTransitionReady(transitionInfo)

        verify(desktopModeEventLogger, times(1))
            .logTaskRemoved(
                eq(
                    DEFAULT_TASK_UPDATE.copy(
                        instanceId = 2,
                        visibleTaskCount = 1,
                        minimizeReason = MinimizeReason.TASK_LIMIT,
                    )
                )
            )
    }

    /** Simulate calling the onTransitionReady() method */
    private fun callOnTransitionReady(transitionInfo: TransitionInfo) {
        val transition = mock<IBinder>()