diff options
author | 2014-10-31 16:12:39 +0900 | |
---|---|---|
committer | 2014-11-10 16:40:59 -0800 | |
commit | dd0b8a06a861c4515216e712f3d6c91b8c071a15 (patch) | |
tree | f864332c1607cef170b91b2585338f335e7eb0a2 /java/src/com | |
parent | e895f5f9140b8e9fc93a12bbc1b1c4eb18f75c54 (diff) | |
download | latinime-dd0b8a06a861c4515216e712f3d6c91b8c071a15.tar.gz latinime-dd0b8a06a861c4515216e712f3d6c91b8c071a15.tar.xz latinime-dd0b8a06a861c4515216e712f3d6c91b8c071a15.zip |
Refactor KeyboardState.SavedKeyboardState class a bit
Change-Id: I5be7339c4797b0308c1a192d2984056619fdfbdd
Diffstat (limited to 'java/src/com')
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java | 51 |
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(); } } |