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

Commit 0d5dcdd5 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Use main executor for handling key gesture events in desktop mode." into main

parents d48ccaa6 717fe4ab
Loading
Loading
Loading
Loading
+23 −17
Original line number Diff line number Diff line
@@ -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,
@@ -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,
@@ -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 -> {
+7 −20
Original line number Diff line number Diff line
@@ -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
@@ -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>()
@@ -148,6 +147,7 @@ class DesktopModeKeyGestureHandlerTest : ShellTestCase() {

        runningTasks.clear()
        testScope.cancel()
        testExecutor.flushAll()
    }

    @Test
@@ -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
@@ -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
@@ -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
@@ -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(