aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2014-11-17 10:02:40 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-11-17 10:02:40 +0000
commit9e3ad29c193d40dd21efeb269114e6a1c389826a (patch)
tree7798a7647c5f22768492a7e49b67a77e24855cc3 /java/src
parent8b1969e131ec05286725f8ebe05e238ea3f21dc3 (diff)
parent76f47ee433d7cacbd0b735b63e000b7a02755900 (diff)
downloadlatinime-9e3ad29c193d40dd21efeb269114e6a1c389826a.tar.gz
latinime-9e3ad29c193d40dd21efeb269114e6a1c389826a.tar.xz
latinime-9e3ad29c193d40dd21efeb269114e6a1c389826a.zip
am 76f47ee4: Merge "Refactor KeyboardState.SavedKeyboardState class a bit"
* commit '76f47ee433d7cacbd0b735b63e000b7a02755900': Refactor KeyboardState.SavedKeyboardState class a bit
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java51
1 files changed, 28 insertions, 23 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
index 70e116709..973e956db 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
@@ -106,15 +106,17 @@ public final class KeyboardState {
@Override
public String toString() {
- if (!mIsValid) return "INVALID";
+ if (!mIsValid) {
+ return "INVALID";
+ }
if (mIsAlphabetMode) {
- if (mIsAlphabetShiftLocked) return "ALPHABET_SHIFT_LOCKED";
- return "ALPHABET_" + shiftModeToString(mShiftMode);
- } else if (mIsEmojiMode) {
+ return mIsAlphabetShiftLocked ? "ALPHABET_SHIFT_LOCKED"
+ : "ALPHABET_" + shiftModeToString(mShiftMode);
+ }
+ if (mIsEmojiMode) {
return "EMOJI";
- } else {
- return "SYMBOLS_" + shiftModeToString(mShiftMode);
}
+ return "SYMBOLS_" + shiftModeToString(mShiftMode);
}
}
@@ -133,9 +135,16 @@ public final class KeyboardState {
mPrevSymbolsKeyboardWasShifted = false;
mShiftKeyState.onRelease();
mSymbolKeyState.onRelease();
- onRestoreKeyboardState(autoCapsFlags, recapitalizeMode);
+ if (mSavedKeyboardState.mIsValid) {
+ onRestoreKeyboardState(autoCapsFlags, recapitalizeMode);
+ mSavedKeyboardState.mIsValid = false;
+ } else {
+ // Reset keyboard to alphabet mode.
+ setAlphabetKeyboard(autoCapsFlags, recapitalizeMode);
+ }
}
+ // Constants for {@link SavedKeyboardState#mShiftMode} and {@link #setShifted(int)}.
private static final int UNSHIFT = 0;
private static final int MANUAL_SHIFT = 1;
private static final int AUTOMATIC_SHIFT = 2;
@@ -165,28 +174,24 @@ public final class KeyboardState {
Log.d(TAG, "onRestoreKeyboardState: saved=" + state
+ " " + stateToString(autoCapsFlags, recapitalizeMode));
}
- if (!state.mIsValid || state.mIsAlphabetMode) {
- setAlphabetKeyboard(autoCapsFlags, recapitalizeMode);
- } else if (state.mIsEmojiMode) {
- setEmojiKeyboard();
- } else {
- if (state.mShiftMode == MANUAL_SHIFT) {
- setSymbolsShiftedKeyboard();
- } else {
- setSymbolsKeyboard();
- }
- }
-
- if (!state.mIsValid) return;
- state.mIsValid = false;
-
+ mPrevMainKeyboardWasShiftLocked = state.mIsAlphabetShiftLocked;
if (state.mIsAlphabetMode) {
+ setAlphabetKeyboard(autoCapsFlags, recapitalizeMode);
setShiftLocked(state.mIsAlphabetShiftLocked);
if (!state.mIsAlphabetShiftLocked) {
setShifted(state.mShiftMode);
}
+ return;
+ }
+ if (state.mIsEmojiMode) {
+ setEmojiKeyboard();
+ return;
+ }
+ // Symbol mode
+ if (state.mShiftMode == MANUAL_SHIFT) {
+ setSymbolsShiftedKeyboard();
} else {
- mPrevMainKeyboardWasShiftLocked = state.mIsAlphabetShiftLocked;
+ setSymbolsKeyboard();
}
}