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

Commit eb6d41a5 authored by Jean Chalard's avatar Jean Chalard
Browse files

[IL67] Externalize a call to the keyboard switcher

Bug: 8636060
Change-Id: Ib13a54854e30afb79217a0a1f2aeca50a95ba155
parent ab80b41a
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -216,8 +216,9 @@ public final class Constants {
    public static final int CODE_LANGUAGE_SWITCH = -10;
    public static final int CODE_EMOJI = -11;
    public static final int CODE_SHIFT_ENTER = -12;
    public static final int CODE_SYMBOL_SHIFT = -13;
    // Code value representing the code is not specified.
    public static final int CODE_UNSPECIFIED = -13;
    public static final int CODE_UNSPECIFIED = -14;

    public static boolean isLetterCode(final int code) {
        return code >= CODE_SPACE;
+14 −1
Original line number Diff line number Diff line
@@ -1260,7 +1260,20 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
        // this transformation, it should be done already before calling onCodeInput.
        final int keyX = mainKeyboardView.getKeyX(x);
        final int keyY = mainKeyboardView.getKeyY(y);
        mInputLogic.onCodeInput(codePoint, keyX, keyY, mHandler, mKeyboardSwitcher,
        final int codeToSend;
        if (Constants.CODE_SHIFT == codePoint) {
            // TODO: Instead of checking for alphabetic keyboard here, separate keycodes for
            // alphabetic shift and shift while in symbol layout.
            final Keyboard currentKeyboard = mKeyboardSwitcher.getKeyboard();
            if (null != currentKeyboard && currentKeyboard.mId.isAlphabetKeyboard()) {
                codeToSend = codePoint;
            } else {
                codeToSend = Constants.CODE_SYMBOL_SHIFT;
            }
        } else {
            codeToSend = codePoint;
        }
        mInputLogic.onCodeInput(codeToSend, keyX, keyY, mHandler, mKeyboardSwitcher,
                mSubtypeSwitcher);
        mKeyboardSwitcher.onCodeInput(codePoint);
    }
+6 −9
Original line number Diff line number Diff line
@@ -230,20 +230,17 @@ public final class InputLogic {
            LatinImeLogger.logOnDelete(x, y);
            break;
        case Constants.CODE_SHIFT:
            // Note: Calling back to the keyboard on Shift key is handled in
            // {@link #onPressKey(int,int,boolean)} and {@link #onReleaseKey(int,boolean)}.
            final Keyboard currentKeyboard = keyboardSwitcher.getKeyboard();
            if (null != currentKeyboard && currentKeyboard.mId.isAlphabetKeyboard()) {
                // TODO: Instead of checking for alphabetic keyboard here, separate keycodes for
                // alphabetic shift and shift while in symbol layout.
            performRecapitalization(settingsValues);
            keyboardSwitcher.updateShiftState();
            }
            break;
        case Constants.CODE_CAPSLOCK:
            // Note: Changing keyboard to shift lock state is handled in
            // {@link KeyboardSwitcher#onCodeInput(int)}.
            break;
        case Constants.CODE_SYMBOL_SHIFT:
            // Note: Calling back to the keyboard on the symbol Shift key is handled in
            // {@link #onPressKey(int,int,boolean)} and {@link #onReleaseKey(int,boolean)}.
            break;
        case Constants.CODE_SWITCH_ALPHA_SYMBOL:
            // Note: Calling back to the keyboard on symbol key is handled in
            // {@link #onPressKey(int,int,boolean)} and {@link #onReleaseKey(int,boolean)}.