aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2013-05-02 00:18:51 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-05-02 00:18:51 -0700
commit3c1a18c6a6540300aea96b3195920f5a1e159e09 (patch)
tree96a691a2be1afaee87372a3941c07a28df6afbb9 /java/src
parent276ed0d6a75e8ed2201ebf7adc2e0bcb410ae0c3 (diff)
parent7f8dd50b8fe38738e52511e1d0bf082172b8932d (diff)
downloadlatinime-3c1a18c6a6540300aea96b3195920f5a1e159e09.tar.gz
latinime-3c1a18c6a6540300aea96b3195920f5a1e159e09.tar.xz
latinime-3c1a18c6a6540300aea96b3195920f5a1e159e09.zip
am 7f8dd50b: Save automatic shift state while orientation changing
* commit '7f8dd50b8fe38738e52511e1d0bf082172b8932d': Save automatic shift state while orientation changing
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java9
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;