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

Commit d4fb4573 authored by Adrian Roos's avatar Adrian Roos Committed by Automerger Merge Worker
Browse files

Merge "Fix CTRL-SHIFT-SPACE shortcut" into udc-dev am: 719de0fb

parents 6dc9be42 719de0fb
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -3409,7 +3409,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
            case KeyEvent.KEYCODE_SPACE:
                if (down && repeatCount == 0) {
                    // Handle keyboard layout switching. (CTRL + SPACE)
                    if (KeyEvent.metaStateHasModifiers(metaState, KeyEvent.META_CTRL_ON)) {
                    if (KeyEvent.metaStateHasModifiers(metaState & ~KeyEvent.META_SHIFT_MASK,
                            KeyEvent.META_CTRL_ON)) {
                        int direction = (metaState & KeyEvent.META_SHIFT_MASK) != 0 ? -1 : 1;
                        mWindowManagerFuncs.switchKeyboardLayout(event.getDeviceId(), direction);
                        return true;
+26 −2
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import static android.view.KeyEvent.KEYCODE_META_LEFT;
import static android.view.KeyEvent.KEYCODE_N;
import static android.view.KeyEvent.KEYCODE_P;
import static android.view.KeyEvent.KEYCODE_S;
import static android.view.KeyEvent.KEYCODE_SHIFT_LEFT;
import static android.view.KeyEvent.KEYCODE_SLASH;
import static android.view.KeyEvent.KEYCODE_SPACE;
import static android.view.KeyEvent.KEYCODE_TAB;
@@ -35,10 +36,15 @@ import static android.view.KeyEvent.KEYCODE_Z;

import android.content.Intent;
import android.os.RemoteException;
import android.platform.test.annotations.Presubmit;
import android.util.SparseArray;

import androidx.test.filters.SmallTest;

import org.junit.Test;

@Presubmit
@SmallTest
public class ModifierShortcutTests extends ShortcutKeyTestBase {
    private static final SparseArray<String> META_SHORTCUTS =  new SparseArray<>();
    static {
@@ -82,7 +88,16 @@ public class ModifierShortcutTests extends ShortcutKeyTestBase {
    @Test
    public void testCtrlSpace() {
        sendKeyCombination(new int[]{KEYCODE_CTRL_LEFT, KEYCODE_SPACE}, 0);
        mPhoneWindowManager.assertSwitchKeyboardLayout();
        mPhoneWindowManager.assertSwitchKeyboardLayout(1);
    }

    /**
     * CTRL + SHIFT + SPACE to switch keyboard layout backwards.
     */
    @Test
    public void testCtrlShiftSpace() {
        sendKeyCombination(new int[]{KEYCODE_CTRL_LEFT, KEYCODE_SHIFT_LEFT, KEYCODE_SPACE}, 0);
        mPhoneWindowManager.assertSwitchKeyboardLayout(-1);
    }

    /**
@@ -91,7 +106,16 @@ public class ModifierShortcutTests extends ShortcutKeyTestBase {
    @Test
    public void testMetaSpace() {
        sendKeyCombination(new int[]{KEYCODE_META_LEFT, KEYCODE_SPACE}, 0);
        mPhoneWindowManager.assertSwitchKeyboardLayout();
        mPhoneWindowManager.assertSwitchKeyboardLayout(1);
    }

    /**
     * META + SHIFT + SPACE to switch keyboard layout backwards.
     */
    @Test
    public void testMetaShiftSpace() {
        sendKeyCombination(new int[]{KEYCODE_META_LEFT, KEYCODE_SHIFT_LEFT, KEYCODE_SPACE}, 0);
        mPhoneWindowManager.assertSwitchKeyboardLayout(-1);
    }

    /**
+2 −2
Original line number Diff line number Diff line
@@ -415,9 +415,9 @@ class TestPhoneWindowManager {
        verify(mStatusBarManagerInternal).showRecentApps(anyBoolean());
    }

    void assertSwitchKeyboardLayout() {
    void assertSwitchKeyboardLayout(int direction) {
        waitForIdle();
        verify(mWindowManagerFuncsImpl).switchKeyboardLayout(anyInt(), anyInt());
        verify(mWindowManagerFuncsImpl).switchKeyboardLayout(anyInt(), eq(direction));
    }

    void assertTakeBugreport() {