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

Commit ab161f7f authored by Graciela Putri's avatar Graciela Putri Committed by Android (Google) Code Review
Browse files

Merge "[5/n] Move enter/exit desktop entrypoints to log from source" into main

parents 505ab55a 124312fa
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -33,6 +33,8 @@ enum class DesktopModeTransitionSource : Parcelable {
    KEYBOARD_SHORTCUT,
    /** Transitions that originated from Recents. */
    RECENTS,
    /** Transitions that originated from Taskbar. */
    TASKBAR,
    /** Transitions with source unknown. */
    UNKNOWN;

+4 −1
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import com.android.wm.shell.RootTaskDisplayAreaOrganizer
import com.android.wm.shell.RootTaskDisplayAreaOrganizer.RootTaskDisplayAreaListener
import com.android.wm.shell.common.DisplayController
import com.android.wm.shell.common.DisplayController.OnDisplaysChangedListener
import com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.EnterReason
import com.android.wm.shell.desktopmode.data.DesktopRepository
import com.android.wm.shell.desktopmode.data.DesktopRepositoryInitializer
import com.android.wm.shell.desktopmode.desktopfirst.DesktopDisplayModeController
@@ -239,7 +240,9 @@ class DesktopDisplayEventHandler(
                            //  last desk from Overview. Let overview activate it once it is
                            //  selected or when the user goes home.
                            activateDesk =
                                ENABLE_MULTIPLE_DESKTOPS_ACTIVATION_IN_DESKTOP_FIRST_DISPLAYS.isTrue,
                                ENABLE_MULTIPLE_DESKTOPS_ACTIVATION_IN_DESKTOP_FIRST_DISPLAYS
                                    .isTrue,
                            enterReason = EnterReason.DISPLAY_CONNECT,
                        )
                    } else {
                        logV("Display %d is touch-first and needs to warm up a desk", displayId)
+12 −0
Original line number Diff line number Diff line
@@ -476,9 +476,20 @@ class DesktopModeEventLogger {
                DesktopModeTransitionSource.RECENTS -> EnterReason.RECENTS
                DesktopModeTransitionSource.TASK_DRAG -> EnterReason.APP_HANDLE_DRAG
                DesktopModeTransitionSource.ADB_COMMAND -> EnterReason.ADB_COMMAND
                DesktopModeTransitionSource.TASKBAR -> EnterReason.TASKBAR_ICON
                else -> EnterReason.UNKNOWN_ENTER
            }

        /**
         * Returns corresponding desktop mode exit [ExitReason] for a [DesktopModeTransitionSource].
         */
        @JvmStatic
        fun DesktopModeTransitionSource.getExitReason(): ExitReason =
            when (this) {
                DesktopModeTransitionSource.RECENTS -> ExitReason.RECENTS_DISMISS
                else -> ExitReason.UNKNOWN_EXIT
            }

        // Default value used when the task was not minimized.
        @VisibleForTesting
        const val UNSET_MINIMIZE_REASON =
@@ -579,6 +590,7 @@ class DesktopModeEventLogger {
            APP_SELF_REPOSITION(
                FrameworkStatsLog.DESKTOP_MODE_UICHANGED__ENTER_REASON__APP_SELF_REPOSITION
            ),
            TASKBAR_ICON(FrameworkStatsLog.DESKTOP_MODE_UICHANGED__ENTER_REASON__TASKBAR_ICON),
        }

        /**
+8 −2
Original line number Diff line number Diff line
@@ -90,7 +90,10 @@ class DesktopModeKeyGestureHandler(
                mainExecutor.execute {
                    desktopTasksController
                        .get()
                        .activatePreviousDesk(focusTransitionObserver.globallyFocusedDisplayId)
                        .activatePreviousDesk(
                            focusTransitionObserver.globallyFocusedDisplayId,
                            EnterReason.KEYBOARD_SHORTCUT_ENTER,
                        )
                }
            }
            KeyGestureEvent.KEY_GESTURE_TYPE_SWITCH_TO_NEXT_DESK -> {
@@ -98,7 +101,10 @@ class DesktopModeKeyGestureHandler(
                mainExecutor.execute {
                    desktopTasksController
                        .get()
                        .activateNextDesk(focusTransitionObserver.globallyFocusedDisplayId)
                        .activateNextDesk(
                            focusTransitionObserver.globallyFocusedDisplayId,
                            EnterReason.KEYBOARD_SHORTCUT_ENTER,
                        )
                }
            }
            KeyGestureEvent.KEY_GESTURE_TYPE_SNAP_LEFT_FREEFORM_WINDOW -> {
+6 −5
Original line number Diff line number Diff line
@@ -21,9 +21,7 @@ import android.window.DesktopExperienceFlags
import com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.EnterReason
import com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.ExitReason
import com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.UnminimizeReason
import com.android.wm.shell.shared.desktopmode.DesktopModeTransitionSource
import com.android.wm.shell.shared.desktopmode.DesktopModeTransitionSource.ADB_COMMAND
import com.android.wm.shell.shared.desktopmode.DesktopModeTransitionSource.UNKNOWN
import com.android.wm.shell.sysui.ShellCommandHandler
import com.android.wm.shell.transition.FocusTransitionObserver
import java.io.PrintWriter
@@ -76,7 +74,10 @@ class DesktopModeShellCommandHandler(
        }

        if (!DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_BACKEND.isTrue) {
            return controller.moveTaskToDefaultDeskAndActivate(taskId, transitionSource = UNKNOWN)
            return controller.moveTaskToDefaultDeskAndActivate(
                taskId,
                transitionSource = ADB_COMMAND,
            )
        }
        if (args.size < 3) {
            pw.println("Error: desk id should be provided as arguments")
@@ -151,7 +152,7 @@ class DesktopModeShellCommandHandler(
                pw.println("Error: desk id should be an integer")
                return false
            }
        controller.activateDesk(deskId, transitionSource = DesktopModeTransitionSource.ADB_COMMAND)
        controller.activateDesk(deskId, enterReason = EnterReason.ADB_COMMAND)
        return true
    }

@@ -227,7 +228,7 @@ class DesktopModeShellCommandHandler(
                pw.println("Error: task id should be an integer")
                return false
            }
        controller.moveToFullscreen(taskId, transitionSource = UNKNOWN)
        controller.moveToFullscreen(taskId, transitionSource = ADB_COMMAND)
        return true
    }

Loading