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

Commit 20e50b12 authored by Jorge Gil's avatar Jorge Gil
Browse files

Log metrics for Maximize Menu actions

Bug: 341320112
Flag: EXEMPT adding logs
Test: verified logs with go/atomtester
Change-Id: I8c782772dcdc6920377a5735244d20393a0d8065
parent eddf0372
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