diff --git a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java index 5f78cb91e..0d116dcf9 100644 --- a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java +++ b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java @@ -499,26 +499,26 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha if (isShiftLocked()) { // Shift key is pressed while caps lock state, we will treat this state as shifted // caps lock state and mark as if shift key pressed while normal state. - setManualTemporaryUpperCase(true); shiftKeyState.onPress(); + setManualTemporaryUpperCase(true); } else if (isAutomaticTemporaryUpperCase()) { // Shift key is pressed while automatic temporary upper case, we have to move to // manual temporary upper case. + shiftKeyState.onPress(); setManualTemporaryUpperCase(true); - shiftKeyState.onPressOnShifted(); } else if (isShiftedOrShiftLocked()) { // In manual upper case state, we just record shift key has been pressing while // shifted state. shiftKeyState.onPressOnShifted(); } else { // In base layout, chording or manual temporary upper case mode is started. - toggleShift(); shiftKeyState.onPress(); + toggleShift(); } } else { // In symbol mode, just toggle symbol and symbol more keyboard. - toggleShift(); shiftKeyState.onPress(); + toggleShift(); } } diff --git a/java/src/com/android/inputmethod/latin/ModifierKeyState.java b/java/src/com/android/inputmethod/latin/ModifierKeyState.java index 07a5c4f7f..8443be433 100644 --- a/java/src/com/android/inputmethod/latin/ModifierKeyState.java +++ b/java/src/com/android/inputmethod/latin/ModifierKeyState.java @@ -49,7 +49,7 @@ public class ModifierKeyState { public void onOtherKeyPressed() { final int oldState = mState; - if (mState == PRESSING) + if (oldState == PRESSING) mState = MOMENTARY; if (DEBUG) Log.d(TAG, mName + ".onOtherKeyPressed: " + toString(oldState) + " > " + this); @@ -64,7 +64,7 @@ public class ModifierKeyState { return toString(mState); } - protected static String toString(int state) { + protected String toString(int state) { switch (state) { case RELEASING: return "RELEASING"; case PRESSING: return "PRESSING"; diff --git a/java/src/com/android/inputmethod/latin/ShiftKeyState.java b/java/src/com/android/inputmethod/latin/ShiftKeyState.java index ef13ddc9b..7412a566d 100644 --- a/java/src/com/android/inputmethod/latin/ShiftKeyState.java +++ b/java/src/com/android/inputmethod/latin/ShiftKeyState.java @@ -29,9 +29,9 @@ public class ShiftKeyState extends ModifierKeyState { @Override public void onOtherKeyPressed() { int oldState = mState; - if (mState == PRESSING) { + if (oldState == PRESSING) { mState = MOMENTARY; - } else if (mState == PRESSING_ON_SHIFTED) { + } else if (oldState == PRESSING_ON_SHIFTED) { mState = IGNORING; } if (DEBUG) @@ -58,11 +58,12 @@ public class ShiftKeyState extends ModifierKeyState { return toString(mState); } - protected static String toString(int state) { + @Override + protected String toString(int state) { switch (state) { case PRESSING_ON_SHIFTED: return "PRESSING_ON_SHIFTED"; case IGNORING: return "IGNORING"; - default: return ModifierKeyState.toString(state); + default: return super.toString(state); } } }