diff options
author | 2012-01-31 02:28:48 -0800 | |
---|---|---|
committer | 2012-01-31 02:28:48 -0800 | |
commit | 0773460c349321cfb36a66721271dcad2e4f0de0 (patch) | |
tree | 1776947608e2b8e36b727e032f1a35ffd4ca8005 /java | |
parent | 0f33b17d4f6913a6e28b61526063d519ca2c9723 (diff) | |
parent | 3feb99fa6c5cf4b0a7d0ed2536b8b0891af884bf (diff) | |
download | latinime-0773460c349321cfb36a66721271dcad2e4f0de0.tar.gz latinime-0773460c349321cfb36a66721271dcad2e4f0de0.tar.xz latinime-0773460c349321cfb36a66721271dcad2e4f0de0.zip |
am 3feb99fa: Merge "Save/restore alphabet shift locked state while rotating even in symbols mode"
* commit '3feb99fa6c5cf4b0a7d0ed2536b8b0891af884bf':
Save/restore alphabet shift locked state while rotating even in symbols mode
Diffstat (limited to 'java')
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java index 19c644d1f..1de83866f 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java @@ -87,14 +87,14 @@ public class KeyboardState { static class SavedKeyboardState { public boolean mIsValid; public boolean mIsAlphabetMode; - public boolean mIsShiftLocked; + public boolean mIsAlphabetShiftLocked; public boolean mIsShifted; @Override public String toString() { if (!mIsValid) return "INVALID"; if (mIsAlphabetMode) { - if (mIsShiftLocked) return "ALPHABET_SHIFT_LOCKED"; + if (mIsAlphabetShiftLocked) return "ALPHABET_SHIFT_LOCKED"; return mIsShifted ? "ALPHABET_SHIFTED" : "ALPHABET"; } else { return mIsShifted ? "SYMBOLS_SHIFTED" : "SYMBOLS"; @@ -124,11 +124,11 @@ public class KeyboardState { final SavedKeyboardState state = mSavedKeyboardState; state.mIsAlphabetMode = mIsAlphabetMode; if (mIsAlphabetMode) { - state.mIsShiftLocked = mAlphabetShiftState.isShiftLocked(); - state.mIsShifted = !state.mIsShiftLocked + state.mIsAlphabetShiftLocked = mAlphabetShiftState.isShiftLocked(); + state.mIsShifted = !state.mIsAlphabetShiftLocked && mAlphabetShiftState.isShiftedOrShiftLocked(); } else { - state.mIsShiftLocked = false; + state.mIsAlphabetShiftLocked = mPrevMainKeyboardWasShiftLocked; state.mIsShifted = mIsSymbolShifted; } state.mIsValid = true; @@ -156,10 +156,12 @@ public class KeyboardState { state.mIsValid = false; if (state.mIsAlphabetMode) { - setShiftLocked(state.mIsShiftLocked); - if (!state.mIsShiftLocked) { + setShiftLocked(state.mIsAlphabetShiftLocked); + if (!state.mIsAlphabetShiftLocked) { setShifted(state.mIsShifted ? MANUAL_SHIFT : UNSHIFT); } + } else { + mPrevMainKeyboardWasShiftLocked = state.mIsAlphabetShiftLocked; } } |