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

Commit 9c3b2dbe authored by Satoshi Kataoka's avatar Satoshi Kataoka
Browse files

Fix emoji state

Bug: 10919260
Change-Id: I85e897b2de10f147bba40dd2147e041e26f5b8ad
parent 431158c9
Loading
Loading
Loading
Loading
+8 −3
Original line number Original line Diff line number Diff line
@@ -585,7 +585,7 @@ public final class KeyboardState {
        }
        }
    }
    }


    private static boolean isSpaceCharacter(final int c) {
    private static boolean isSpaceOrEnter(final int c) {
        return c == Constants.CODE_SPACE || c == Constants.CODE_ENTER;
        return c == Constants.CODE_SPACE || c == Constants.CODE_ENTER;
    }
    }


@@ -614,7 +614,12 @@ public final class KeyboardState {
            }
            }
            break;
            break;
        case SWITCH_STATE_SYMBOL_BEGIN:
        case SWITCH_STATE_SYMBOL_BEGIN:
            if (!isSpaceCharacter(code) && (Constants.isLetterCode(code)
            if (mIsEmojiMode) {
                // When in the Emoji keyboard, we don't want to switch back to the main layout even
                // after the user hits an emoji letter followed by an enter or a space.
                break;
            }
            if (!isSpaceOrEnter(code) && (Constants.isLetterCode(code)
                    || code == Constants.CODE_OUTPUT_TEXT)) {
                    || code == Constants.CODE_OUTPUT_TEXT)) {
                mSwitchState = SWITCH_STATE_SYMBOL;
                mSwitchState = SWITCH_STATE_SYMBOL;
            }
            }
@@ -622,7 +627,7 @@ public final class KeyboardState {
        case SWITCH_STATE_SYMBOL:
        case SWITCH_STATE_SYMBOL:
            // Switch back to alpha keyboard mode if user types one or more non-space/enter
            // Switch back to alpha keyboard mode if user types one or more non-space/enter
            // characters followed by a space/enter.
            // characters followed by a space/enter.
            if (isSpaceCharacter(code)) {
            if (isSpaceOrEnter(code)) {
                toggleAlphabetAndSymbols();
                toggleAlphabetAndSymbols();
                mPrevSymbolsKeyboardWasShifted = false;
                mPrevSymbolsKeyboardWasShifted = false;
            }
            }