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

Commit 640f25eb authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Log metrics for Maximize Menu actions" into main

parents 2751068a 20e50b12
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -885,6 +885,7 @@ public abstract class WMShellModule {
            SyncTransactionQueue syncQueue,
            Transitions transitions,
            Optional<DesktopTasksController> desktopTasksController,
            Optional<DesktopImmersiveController> desktopImmersiveController,
            RootTaskDisplayAreaOrganizer rootTaskDisplayAreaOrganizer,
            InteractionJankMonitor interactionJankMonitor,
            AppToWebGenericLinksParser genericLinksParser,
@@ -906,6 +907,7 @@ public abstract class WMShellModule {
                mainChoreographer, bgExecutor, shellInit, shellCommandHandler, windowManager,
                taskOrganizer, desktopRepository, displayController, shellController,
                displayInsetsController, syncQueue, transitions, desktopTasksController,
                desktopImmersiveController.get(),
                rootTaskDisplayAreaOrganizer, interactionJankMonitor, genericLinksParser,
                assistContentRequester, multiInstanceHelper, desktopTasksLimiter,
                appHandleEducationController, appToWebEducationController,
+2 −0
Original line number Diff line number Diff line
@@ -99,6 +99,7 @@ class DesktopImmersiveController(

    /** Starts a transition to enter full immersive state inside the desktop. */
    fun moveTaskToImmersive(taskInfo: RunningTaskInfo) {
        check(taskInfo.isFreeform) { "Task must already be in freeform" }
        if (inProgress) {
            logV(
                "Cannot start entry because transition(s) already in progress: %s",
@@ -121,6 +122,7 @@ class DesktopImmersiveController(

    /** Starts a transition to move an immersive task out of immersive. */
    fun moveTaskToNonImmersive(taskInfo: RunningTaskInfo, reason: ExitReason) {
        check(taskInfo.isFreeform) { "Task must already be in freeform" }
        if (inProgress) {
            logV(
                "Cannot start exit because transition(s) already in progress: %s",
+4 −2
Original line number Diff line number Diff line
@@ -72,7 +72,8 @@ class DesktopModeKeyGestureHandler(
                    desktopModeWindowDecorViewModel.get().onSnapResize(
                        it.taskId,
                        true,
                        DesktopModeEventLogger.Companion.InputMethod.KEYBOARD
                        DesktopModeEventLogger.Companion.InputMethod.KEYBOARD,
                        /* fromMenu= */ false
                    )
                }
                return true
@@ -83,7 +84,8 @@ class DesktopModeKeyGestureHandler(
                    desktopModeWindowDecorViewModel.get().onSnapResize(
                        it.taskId,
                        false,
                        DesktopModeEventLogger.Companion.InputMethod.KEYBOARD
                        DesktopModeEventLogger.Companion.InputMethod.KEYBOARD,
                        /* fromMenu= */ false
                    )
                }
                return true
+13 −1
Original line number Diff line number Diff line
@@ -124,7 +124,19 @@ class DesktopModeUiEventLogger(
        @UiEvent(doc = "Drag the window header to an edge to tile it to the left side")
        DESKTOP_WINDOW_APP_HEADER_DRAG_TO_TILE_TO_LEFT(2006),
        @UiEvent(doc = "Drag the window header to an edge to tile it to the right side")
        DESKTOP_WINDOW_APP_HEADER_DRAG_TO_TILE_TO_RIGHT(2007);
        DESKTOP_WINDOW_APP_HEADER_DRAG_TO_TILE_TO_RIGHT(2007),
        @UiEvent(doc = "Hover or long press the maximize button to reveal the menu")
        DESKTOP_WINDOW_MAXIMIZE_BUTTON_REVEAL_MENU(2015),
        @UiEvent(doc = "Tap on the maximize option in the maximize button menu")
        DESKTOP_WINDOW_MAXIMIZE_BUTTON_MENU_TAP_TO_MAXIMIZE(2009),
        @UiEvent(doc = "Tap on the immersive option in the maximize button menu")
        DESKTOP_WINDOW_MAXIMIZE_BUTTON_MENU_TAP_TO_IMMERSIVE(2010),
        @UiEvent(doc = "Tap on the restore option in the maximize button menu")
        DESKTOP_WINDOW_MAXIMIZE_BUTTON_MENU_TAP_TO_RESTORE(2011),
        @UiEvent(doc = "Tap on the tile to left option in the maximize button menu")
        DESKTOP_WINDOW_MAXIMIZE_BUTTON_MENU_TAP_TO_TILE_TO_LEFT(2012),
        @UiEvent(doc = "Tap on the tile to right option in the maximize button menu")
        DESKTOP_WINDOW_MAXIMIZE_BUTTON_MENU_TAP_TO_TILE_TO_RIGHT(2013);

        override fun getId(): Int = mId
    }
+1 −26
Original line number Diff line number Diff line
@@ -788,31 +788,6 @@ class DesktopTasksController(
        transitions.startTransition(TRANSIT_CHANGE, wct, null /* handler */)
    }

    /** Moves a task in/out of full immersive state within the desktop. */
    fun toggleDesktopTaskFullImmersiveState(taskInfo: RunningTaskInfo) {
        if (taskRepository.isTaskInFullImmersiveState(taskInfo.taskId)) {
            exitDesktopTaskFromFullImmersive(
                taskInfo,
                DesktopImmersiveController.ExitReason.USER_INTERACTION,
            )
        } else {
            moveDesktopTaskToFullImmersive(taskInfo)
        }
    }

    private fun moveDesktopTaskToFullImmersive(taskInfo: RunningTaskInfo) {
        check(taskInfo.isFreeform) { "Task must already be in freeform" }
        desktopImmersiveController.moveTaskToImmersive(taskInfo)
    }

    private fun exitDesktopTaskFromFullImmersive(
        taskInfo: RunningTaskInfo,
        reason: DesktopImmersiveController.ExitReason,
    ) {
        check(taskInfo.isFreeform) { "Task must already be in freeform" }
        desktopImmersiveController.moveTaskToNonImmersive(taskInfo, reason)
    }

    /**
     * Quick-resizes a desktop task, toggling between a fullscreen state (represented by the stable
     * bounds) and a free floating state (either the last saved bounds if available or the default
@@ -2375,7 +2350,7 @@ class DesktopTasksController(
        if (inImmersive && !requestingImmersive
            && !RecentsTransitionStateListener.isRunning(recentsTransitionState)) {
            // Exit immersive if the app is no longer requesting it.
            exitDesktopTaskFromFullImmersive(
            desktopImmersiveController.moveTaskToNonImmersive(
                taskInfo,
                DesktopImmersiveController.ExitReason.APP_NOT_IMMERSIVE
            )
Loading