Loading libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeTransitionSource.kt +2 −0 Original line number Diff line number Diff line Loading @@ -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; Loading libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopDisplayEventHandler.kt +4 −1 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) Loading libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeEventLogger.kt +12 −0 Original line number Diff line number Diff line Loading @@ -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 = Loading Loading @@ -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), } /** Loading libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeKeyGestureHandler.kt +8 −2 Original line number Diff line number Diff line Loading @@ -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 -> { Loading @@ -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 -> { Loading libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeShellCommandHandler.kt +6 −5 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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") Loading Loading @@ -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 } Loading Loading @@ -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 Loading
libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeTransitionSource.kt +2 −0 Original line number Diff line number Diff line Loading @@ -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; Loading
libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopDisplayEventHandler.kt +4 −1 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) Loading
libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeEventLogger.kt +12 −0 Original line number Diff line number Diff line Loading @@ -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 = Loading Loading @@ -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), } /** Loading
libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeKeyGestureHandler.kt +8 −2 Original line number Diff line number Diff line Loading @@ -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 -> { Loading @@ -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 -> { Loading
libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeShellCommandHandler.kt +6 −5 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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") Loading Loading @@ -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 } Loading Loading @@ -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