diff options
author | 2013-09-25 11:55:12 +0900 | |
---|---|---|
committer | 2013-09-25 11:59:21 +0900 | |
commit | 9c3b2dbe3434fbe5117b66fa4911c8de0ea6bde6 (patch) | |
tree | 8f2b9b187339ca886df9aa03b1a6765f3d3737f8 | |
parent | 431158c9395bfd2b527c049d05e6d4e9f9134cf9 (diff) | |
download | latinime-9c3b2dbe3434fbe5117b66fa4911c8de0ea6bde6.tar.gz latinime-9c3b2dbe3434fbe5117b66fa4911c8de0ea6bde6.tar.xz latinime-9c3b2dbe3434fbe5117b66fa4911c8de0ea6bde6.zip |
Fix emoji state
Bug: 10919260
Change-Id: I85e897b2de10f147bba40dd2147e041e26f5b8ad
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java index b3491d807..9f9fdaa6f 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java @@ -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; } @@ -614,7 +614,12 @@ public final class KeyboardState { } break; 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)) { mSwitchState = SWITCH_STATE_SYMBOL; } @@ -622,7 +627,7 @@ public final class KeyboardState { case SWITCH_STATE_SYMBOL: // Switch back to alpha keyboard mode if user types one or more non-space/enter // characters followed by a space/enter. - if (isSpaceCharacter(code)) { + if (isSpaceOrEnter(code)) { toggleAlphabetAndSymbols(); mPrevSymbolsKeyboardWasShifted = false; } |