aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2012-01-19 02:15:29 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2012-01-19 02:15:29 -0800
commit6d6c96013606d563339b28e617435c61bfca0e0d (patch)
treea97da1eef42b3cadf9bb2b84c53515cb3faf9380 /java
parent33b1944f921714456ad2a24acbba60266e72e601 (diff)
parent0ef9bfe5932cb1b099809b4622bf45427f0430dd (diff)
downloadlatinime-6d6c96013606d563339b28e617435c61bfca0e0d.tar.gz
latinime-6d6c96013606d563339b28e617435c61bfca0e0d.tar.xz
latinime-6d6c96013606d563339b28e617435c61bfca0e0d.zip
am 0ef9bfe5: Merge "Fix KeyboardState switching back from alphabet-chording input correctly"
* commit '0ef9bfe5932cb1b099809b4622bf45427f0430dd': Fix KeyboardState switching back from alphabet-chording input correctly
Diffstat (limited to 'java')
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
index 54b1c1f09..af16e4907 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
@@ -78,6 +78,7 @@ public class KeyboardState {
private KeyboardShiftState mAlphabetShiftState = new KeyboardShiftState();
private boolean mIsSymbolShifted;
private boolean mPrevMainKeyboardWasShiftLocked;
+ private boolean mPrevSymbolsKeyboardWasShifted;
private final SavedKeyboardState mSavedKeyboardState = new SavedKeyboardState();
@@ -100,6 +101,7 @@ public class KeyboardState {
// Reset alphabet shift state.
mAlphabetShiftState.setShiftLocked(false);
mPrevMainKeyboardWasShiftLocked = false;
+ mPrevSymbolsKeyboardWasShifted = false;
mShiftKeyState.onRelease();
mSymbolKeyState.onRelease();
onRestoreKeyboardState();
@@ -202,6 +204,7 @@ public class KeyboardState {
if (DEBUG_ACTION) {
Log.d(TAG, "setAlphabetKeyboard");
}
+ mPrevSymbolsKeyboardWasShifted = mIsSymbolShifted;
mSwitchActions.setAlphabetKeyboard();
mIsAlphabetMode = true;
mIsSymbolShifted = false;
@@ -214,6 +217,11 @@ public class KeyboardState {
// TODO: Make this method private
public void setSymbolsKeyboard() {
mPrevMainKeyboardWasShiftLocked = mAlphabetShiftState.isShiftLocked();
+ if (mPrevSymbolsKeyboardWasShifted) {
+ setSymbolsShiftedKeyboard();
+ return;
+ }
+
if (DEBUG_ACTION) {
Log.d(TAG, "setSymbolsKeyboard");
}
@@ -222,6 +230,7 @@ public class KeyboardState {
mIsSymbolShifted = false;
// Reset alphabet shift state.
mAlphabetShiftState.setShiftLocked(false);
+ mPrevSymbolsKeyboardWasShifted = false;
mSwitchState = SWITCH_STATE_SYMBOL_BEGIN;
}
@@ -234,6 +243,7 @@ public class KeyboardState {
mIsSymbolShifted = true;
// Reset alphabet shift state.
mAlphabetShiftState.setShiftLocked(false);
+ mPrevSymbolsKeyboardWasShifted = false;
mSwitchState = SWITCH_STATE_SYMBOL_BEGIN;
}