diff options
author | 2013-05-15 12:35:25 -0700 | |
---|---|---|
committer | 2013-05-15 12:35:25 -0700 | |
commit | 62dd1ee3aab4844be50eb280e06626edcb5fff4b (patch) | |
tree | bbd58883912526754220f27eb713cf752c3e7671 /java/src | |
parent | 0a0b9fe27e1850c57651c64260f83eb1601cc37b (diff) | |
parent | 3c1a18c6a6540300aea96b3195920f5a1e159e09 (diff) | |
download | latinime-62dd1ee3aab4844be50eb280e06626edcb5fff4b.tar.gz latinime-62dd1ee3aab4844be50eb280e06626edcb5fff4b.tar.xz latinime-62dd1ee3aab4844be50eb280e06626edcb5fff4b.zip |
am 3c1a18c6: am 7f8dd50b: Save automatic shift state while orientation changing
* commit '3c1a18c6a6540300aea96b3195920f5a1e159e09':
Save automatic shift state while orientation changing
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java index b1d499702..71853f7ad 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java @@ -95,6 +95,8 @@ public final class KeyboardState { static final class SavedKeyboardState { public boolean mIsValid; public boolean mIsAlphabetMode; + // TODO: Use <code>int</code> to represent saved shift state. + public boolean mIsAlphabetAutomaticShifted; public boolean mIsAlphabetShiftLocked; public boolean mIsShifted; @@ -103,7 +105,8 @@ public final class KeyboardState { if (!mIsValid) return "INVALID"; if (mIsAlphabetMode) { if (mIsAlphabetShiftLocked) return "ALPHABET_SHIFT_LOCKED"; - return mIsShifted ? "ALPHABET_SHIFTED" : "ALPHABET"; + return mIsAlphabetAutomaticShifted ? "ALPHABET_AUTOMATIC_SHIFTED" + : (mIsShifted ? "ALPHABET_SHIFTED" : "ALPHABET"); } else { return mIsShifted ? "SYMBOLS_SHIFTED" : "SYMBOLS"; } @@ -133,6 +136,7 @@ public final class KeyboardState { state.mIsAlphabetMode = mIsAlphabetMode; if (mIsAlphabetMode) { state.mIsAlphabetShiftLocked = mAlphabetShiftState.isShiftLocked(); + state.mIsAlphabetAutomaticShifted = mAlphabetShiftState.isAutomaticShifted(); state.mIsShifted = !state.mIsAlphabetShiftLocked && mAlphabetShiftState.isShiftedOrShiftLocked(); } else { @@ -166,7 +170,8 @@ public final class KeyboardState { if (state.mIsAlphabetMode) { setShiftLocked(state.mIsAlphabetShiftLocked); if (!state.mIsAlphabetShiftLocked) { - setShifted(state.mIsShifted ? MANUAL_SHIFT : UNSHIFT); + setShifted(state.mIsAlphabetAutomaticShifted ? AUTOMATIC_SHIFT + : (state.mIsShifted ? MANUAL_SHIFT : UNSHIFT)); } } else { mPrevMainKeyboardWasShiftLocked = state.mIsAlphabetShiftLocked; |