Loading libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeKeyGestureHandler.kt +23 −17 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ class DesktopModeKeyGestureHandler( KeyGestureEvent.KEY_GESTURE_TYPE_SNAP_LEFT_FREEFORM_WINDOW -> { logV("Key gesture SNAP_LEFT_FREEFORM_WINDOW is handled") getGloballyFocusedFreeformTask()?.let { mainExecutor.execute { desktopModeWindowDecorViewModel.get().onSnapResize( it.taskId, true, Loading @@ -79,11 +80,13 @@ class DesktopModeKeyGestureHandler( /* fromMenu= */ false ) } } return true } KeyGestureEvent.KEY_GESTURE_TYPE_SNAP_RIGHT_FREEFORM_WINDOW -> { logV("Key gesture SNAP_RIGHT_FREEFORM_WINDOW is handled") getGloballyFocusedFreeformTask()?.let { mainExecutor.execute { desktopModeWindowDecorViewModel.get().onSnapResize( it.taskId, false, Loading @@ -91,17 +94,20 @@ class DesktopModeKeyGestureHandler( /* fromMenu= */ false ) } } return true } KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_MAXIMIZE_FREEFORM_WINDOW -> { logV("Key gesture TOGGLE_MAXIMIZE_FREEFORM_WINDOW is handled") getGloballyFocusedFreeformTask()?.let { mainExecutor.execute { desktopTasksController.get().toggleDesktopTaskSize( it, ResizeTrigger.MAXIMIZE_MENU, DesktopModeEventLogger.Companion.InputMethod.KEYBOARD, ) } } return true } KeyGestureEvent.KEY_GESTURE_TYPE_MINIMIZE_FREEFORM_WINDOW -> { Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeKeyGestureHandlerTest.kt +7 −20 Original line number Diff line number Diff line Loading @@ -53,10 +53,9 @@ import com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn import com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession import com.android.dx.mockito.inline.extended.StaticMockitoSession import com.android.window.flags.Flags.FLAG_ENABLE_TASK_RESIZING_KEYBOARD_SHORTCUTS import com.android.wm.shell.TestShellExecutor import com.android.wm.shell.common.DisplayController import com.android.wm.shell.common.DisplayLayout import com.android.wm.shell.common.ShellExecutor import com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.ResizeTrigger import com.android.wm.shell.shared.desktopmode.DesktopModeStatus import com.android.wm.shell.sysui.ShellInit import com.android.wm.shell.windowdecor.DesktopModeWindowDecorViewModel Loading Loading @@ -91,7 +90,7 @@ class DesktopModeKeyGestureHandlerTest : ShellTestCase() { private val rootTaskDisplayAreaOrganizer = mock<RootTaskDisplayAreaOrganizer>() private val shellTaskOrganizer = mock<ShellTaskOrganizer>() private val focusTransitionObserver = mock<FocusTransitionObserver>() private val testExecutor = mock<ShellExecutor>() private val testExecutor = TestShellExecutor() private val inputManager = mock<InputManager>() private val displayController = mock<DisplayController>() private val displayLayout = mock<DisplayLayout>() Loading Loading @@ -148,6 +147,7 @@ class DesktopModeKeyGestureHandlerTest : ShellTestCase() { runningTasks.clear() testScope.cancel() testExecutor.flushAll() } @Test Loading Loading @@ -201,12 +201,7 @@ class DesktopModeKeyGestureHandlerTest : ShellTestCase() { val result = keyGestureEventHandler.handleKeyGestureEvent(event, null) assertThat(result).isTrue() verify(desktopModeWindowDecorViewModel).onSnapResize( task.taskId, true, DesktopModeEventLogger.Companion.InputMethod.KEYBOARD, /* fromMenu= */ false ) assertThat(testExecutor.callbacks.size).isEqualTo(1) } @Test Loading @@ -228,12 +223,7 @@ class DesktopModeKeyGestureHandlerTest : ShellTestCase() { val result = keyGestureEventHandler.handleKeyGestureEvent(event, null) assertThat(result).isTrue() verify(desktopModeWindowDecorViewModel).onSnapResize( task.taskId, false, DesktopModeEventLogger.Companion.InputMethod.KEYBOARD, /* fromMenu= */ false ) assertThat(testExecutor.callbacks.size).isEqualTo(1) } @Test Loading @@ -255,11 +245,7 @@ class DesktopModeKeyGestureHandlerTest : ShellTestCase() { val result = keyGestureEventHandler.handleKeyGestureEvent(event, null) assertThat(result).isTrue() verify(desktopTasksController).toggleDesktopTaskSize( task, ResizeTrigger.MAXIMIZE_MENU, DesktopModeEventLogger.Companion.InputMethod.KEYBOARD, ) assertThat(testExecutor.callbacks.size).isEqualTo(1) } @Test Loading @@ -281,6 +267,7 @@ class DesktopModeKeyGestureHandlerTest : ShellTestCase() { val result = keyGestureEventHandler.handleKeyGestureEvent(event, null) assertThat(result).isTrue() assertThat(testExecutor.callbacks.size).isEqualTo(1) } private fun setUpFreeformTask( Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeKeyGestureHandler.kt +23 −17 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ class DesktopModeKeyGestureHandler( KeyGestureEvent.KEY_GESTURE_TYPE_SNAP_LEFT_FREEFORM_WINDOW -> { logV("Key gesture SNAP_LEFT_FREEFORM_WINDOW is handled") getGloballyFocusedFreeformTask()?.let { mainExecutor.execute { desktopModeWindowDecorViewModel.get().onSnapResize( it.taskId, true, Loading @@ -79,11 +80,13 @@ class DesktopModeKeyGestureHandler( /* fromMenu= */ false ) } } return true } KeyGestureEvent.KEY_GESTURE_TYPE_SNAP_RIGHT_FREEFORM_WINDOW -> { logV("Key gesture SNAP_RIGHT_FREEFORM_WINDOW is handled") getGloballyFocusedFreeformTask()?.let { mainExecutor.execute { desktopModeWindowDecorViewModel.get().onSnapResize( it.taskId, false, Loading @@ -91,17 +94,20 @@ class DesktopModeKeyGestureHandler( /* fromMenu= */ false ) } } return true } KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_MAXIMIZE_FREEFORM_WINDOW -> { logV("Key gesture TOGGLE_MAXIMIZE_FREEFORM_WINDOW is handled") getGloballyFocusedFreeformTask()?.let { mainExecutor.execute { desktopTasksController.get().toggleDesktopTaskSize( it, ResizeTrigger.MAXIMIZE_MENU, DesktopModeEventLogger.Companion.InputMethod.KEYBOARD, ) } } return true } KeyGestureEvent.KEY_GESTURE_TYPE_MINIMIZE_FREEFORM_WINDOW -> { Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeKeyGestureHandlerTest.kt +7 −20 Original line number Diff line number Diff line Loading @@ -53,10 +53,9 @@ import com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn import com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession import com.android.dx.mockito.inline.extended.StaticMockitoSession import com.android.window.flags.Flags.FLAG_ENABLE_TASK_RESIZING_KEYBOARD_SHORTCUTS import com.android.wm.shell.TestShellExecutor import com.android.wm.shell.common.DisplayController import com.android.wm.shell.common.DisplayLayout import com.android.wm.shell.common.ShellExecutor import com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.ResizeTrigger import com.android.wm.shell.shared.desktopmode.DesktopModeStatus import com.android.wm.shell.sysui.ShellInit import com.android.wm.shell.windowdecor.DesktopModeWindowDecorViewModel Loading Loading @@ -91,7 +90,7 @@ class DesktopModeKeyGestureHandlerTest : ShellTestCase() { private val rootTaskDisplayAreaOrganizer = mock<RootTaskDisplayAreaOrganizer>() private val shellTaskOrganizer = mock<ShellTaskOrganizer>() private val focusTransitionObserver = mock<FocusTransitionObserver>() private val testExecutor = mock<ShellExecutor>() private val testExecutor = TestShellExecutor() private val inputManager = mock<InputManager>() private val displayController = mock<DisplayController>() private val displayLayout = mock<DisplayLayout>() Loading Loading @@ -148,6 +147,7 @@ class DesktopModeKeyGestureHandlerTest : ShellTestCase() { runningTasks.clear() testScope.cancel() testExecutor.flushAll() } @Test Loading Loading @@ -201,12 +201,7 @@ class DesktopModeKeyGestureHandlerTest : ShellTestCase() { val result = keyGestureEventHandler.handleKeyGestureEvent(event, null) assertThat(result).isTrue() verify(desktopModeWindowDecorViewModel).onSnapResize( task.taskId, true, DesktopModeEventLogger.Companion.InputMethod.KEYBOARD, /* fromMenu= */ false ) assertThat(testExecutor.callbacks.size).isEqualTo(1) } @Test Loading @@ -228,12 +223,7 @@ class DesktopModeKeyGestureHandlerTest : ShellTestCase() { val result = keyGestureEventHandler.handleKeyGestureEvent(event, null) assertThat(result).isTrue() verify(desktopModeWindowDecorViewModel).onSnapResize( task.taskId, false, DesktopModeEventLogger.Companion.InputMethod.KEYBOARD, /* fromMenu= */ false ) assertThat(testExecutor.callbacks.size).isEqualTo(1) } @Test Loading @@ -255,11 +245,7 @@ class DesktopModeKeyGestureHandlerTest : ShellTestCase() { val result = keyGestureEventHandler.handleKeyGestureEvent(event, null) assertThat(result).isTrue() verify(desktopTasksController).toggleDesktopTaskSize( task, ResizeTrigger.MAXIMIZE_MENU, DesktopModeEventLogger.Companion.InputMethod.KEYBOARD, ) assertThat(testExecutor.callbacks.size).isEqualTo(1) } @Test Loading @@ -281,6 +267,7 @@ class DesktopModeKeyGestureHandlerTest : ShellTestCase() { val result = keyGestureEventHandler.handleKeyGestureEvent(event, null) assertThat(result).isTrue() assertThat(testExecutor.callbacks.size).isEqualTo(1) } private fun setUpFreeformTask( Loading