Create and attach additional Transition types to enter/exit transitions
This is so that different Enter/Exit logging reasons can be differentiated by the DestopModeLoggerTransitionObserver.
Create a TransitionSource enum which is shared with Launcher. Methods read TransitionSource passed to them and decide on which transitionType to choose when starting transitions.
**CUJ -> TransitionType -> Enter/ExitReason**
**Earlier**
Enter: Handle button -> MOVE_TO_DESKTOP -> APP_HANDLE_MENU_BUTTON
Enter: App icon(overview) -> MOVE_TO_DESKTOP -> APP_HANDLE_MENU_BUTTON
Enter: Keyboard shortcut -> MOVE_TO_DESKTOP -> APP_HANDLE_MENU_BUTTON
Exit: Drag to exit -> EXIT -> DRAG_TO_EXIT
Exit: Handle button -> EXIT -> DRAG_TO_EXIT
Exit: Keyboard shortcut -> EXIT -> DRAG_TO_EXIT
**Now**
Enter: Handle button -> APP_HANDLE_MENU_BUTTON -> APP_HANDLE_MENU_BUTTON
Enter: App icon(overview) ->APP_ICON_FROM_OVERVIEW->UNKOWN (fix later)
Enter: Keyboard shortcut -> KEYBOARD_SHORTCUT -> KEYBOARD_SHORTCUT
Enter: Adb Commands -> ADB_COMMANDS -> UNKNOWN (debugging CUJ only)
Exit: Drag to exit -> EXIT -> DRAG_TO_EXIT
Exit: Handle button -> APP_HANDLE_MENU_BUTTON-> APP_HANDLE_MENU_BUTTON
Exit: Keyboard shortcut -> KEYBOARD_SHORTCUT -> KEYBOARD_SHORTCUT
Flag: EXEMPT not a major feature/ user visible change
Test: Updated unit tests
Bug: b/326231756
Change-Id: I9cce7abe62106cd6b11a4f353c288214ea5ee1e7
diff --git a/libs/WindowManager/Shell/Android.bp b/libs/WindowManager/Shell/Android.bp
index 89781fd..ef756c5 100644
--- a/libs/WindowManager/Shell/Android.bp
+++ b/libs/WindowManager/Shell/Android.bp
@@ -51,6 +51,7 @@
"src/com/android/wm/shell/common/split/SplitScreenConstants.java",
"src/com/android/wm/shell/common/TransactionPool.java",
"src/com/android/wm/shell/common/TriangleShape.java",
+ "src/com/android/wm/shell/common/desktopmode/*.kt",
"src/com/android/wm/shell/draganddrop/DragAndDropConstants.java",
"src/com/android/wm/shell/pip/PipContentOverlay.java",
"src/com/android/wm/shell/startingsurface/SplashScreenExitAnimationUtils.java",