aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSatoshi Kataoka <satok@google.com>2013-09-25 11:55:12 +0900
committerSatoshi Kataoka <satok@google.com>2013-09-25 11:59:21 +0900
commit9c3b2dbe3434fbe5117b66fa4911c8de0ea6bde6 (patch)
tree8f2b9b187339ca886df9aa03b1a6765f3d3737f8
parent431158c9395bfd2b527c049d05e6d4e9f9134cf9 (diff)
downloadlatinime-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.java11
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;
}