Loading java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +12 −0 Original line number Diff line number Diff line Loading @@ -240,6 +240,7 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions, private static final int ALPHABET_MANUAL_SHIFTED = 1; private static final int ALPHABET_AUTOMATIC_SHIFTED = 2; private static final int ALPHABET_SHIFT_LOCKED = 3; private static final int ALPHABET_SHIFT_LOCK_SHIFTED = 4; // TODO: Remove this method. private void updateAlphabetKeyboardShiftState(int shiftMode) { Loading @@ -260,6 +261,10 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions, case ALPHABET_SHIFT_LOCKED: keyboard.setShiftLocked(true); break; case ALPHABET_SHIFT_LOCK_SHIFTED: keyboard.setShiftLocked(true); keyboard.setShifted(true); break; } mKeyboardView.invalidateAllKeys(); if (shiftMode != ALPHABET_SHIFT_LOCKED) { Loading Loading @@ -298,6 +303,13 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions, updateAlphabetKeyboardShiftState(ALPHABET_SHIFT_LOCKED); } // Implements {@link KeyboardState.SwitchActions}. @Override public void setAlphabetShiftLockShiftedKeyboard() { setKeyboard(mKeyboardSet.getMainKeyboard()); updateAlphabetKeyboardShiftState(ALPHABET_SHIFT_LOCK_SHIFTED); } // Implements {@link KeyboardState.SwitchActions}. @Override public void setSymbolsKeyboard() { Loading java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java +7 −8 Original line number Diff line number Diff line Loading @@ -43,8 +43,7 @@ public class KeyboardState { public void setAlphabetManualShiftedKeyboard(); public void setAlphabetAutomaticShiftedKeyboard(); public void setAlphabetShiftLockedKeyboard(); // TODO: Add this. //public void setAlphabetShiftLockShiftedKeyboard(); public void setAlphabetShiftLockShiftedKeyboard(); public void setSymbolsKeyboard(); public void setSymbolsShiftedKeyboard(); Loading Loading @@ -157,14 +156,10 @@ public class KeyboardState { } } // TODO: Remove this method. public boolean isShiftLocked() { return mAlphabetShiftState.isShiftLocked(); } private static final int UNSHIFT = 0; private static final int MANUAL_SHIFT = 1; private static final int AUTOMATIC_SHIFT = 2; private static final int SHIFT_LOCK_SHIFTED = 3; private void setShifted(int shiftMode) { if (DEBUG_ACTION) { Loading Loading @@ -198,6 +193,10 @@ public class KeyboardState { mSwitchActions.setAlphabetKeyboard(); } break; case SHIFT_LOCK_SHIFTED: mAlphabetShiftState.setShifted(true); mSwitchActions.setAlphabetShiftLockShiftedKeyboard(); break; } } Loading Loading @@ -349,7 +348,7 @@ public class KeyboardState { if (mAlphabetShiftState.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. setShifted(MANUAL_SHIFT); setShifted(SHIFT_LOCK_SHIFTED); mShiftKeyState.onPress(); } else if (mAlphabetShiftState.isAutomaticTemporaryUpperCase()) { // Shift key is pressed while automatic temporary upper case, we have to move to Loading tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateMultiTouchTests.java +2 −2 Original line number Diff line number Diff line Loading @@ -40,9 +40,9 @@ public class KeyboardStateMultiTouchTests extends KeyboardStateTestsBase { longPressShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); // Press shift key and hold, enter into choring shift state. pressKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED); pressKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED); // Press/release letter key. chordingPressAndReleaseKey('Z', ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); chordingPressAndReleaseKey('Z', ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCK_SHIFTED); // Release shift key, switch back to alphabet shift locked. releaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCKED); Loading tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateSingleTouchTests.java +6 −6 Original line number Diff line number Diff line Loading @@ -246,13 +246,13 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase { pressAndReleaseKey(CODE_SPACE, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); // Press/release shift key, back to alphabet. pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); // Long press shift key, enter alphabet shift locked. longPressShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); // Long press shift key, back to alphabet. longPressShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); longPressShiftKey(ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); } // Double tap shift key. Loading @@ -265,7 +265,7 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase { secondTapShiftKey(ALPHABET_SHIFT_LOCKED); // First shift key tap. pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); // Second shift key tap. // Second tap is ignored in LatinKeyboardView.KeyTimerHandler. } Loading @@ -289,7 +289,7 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase { // Update shift state, remained in alphabet shift locked. updateShiftState(ALPHABET_SHIFT_LOCKED); // Long press shift key, back to alphabet. longPressShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); longPressShiftKey(ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); // Press/release "?123" key, enter into symbols. pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); Loading Loading @@ -320,7 +320,7 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase { // Update shift state, remained in alphabet shift locked (not automatic shifted). updateShiftState(ALPHABET_SHIFT_LOCKED); // Long press shift key, back to alphabet. longPressShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); longPressShiftKey(ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); // Load keyboard, should be in automatic shifted. loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); Loading Loading @@ -375,7 +375,7 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase { // Alphabet shift locked -> "?123" key + letter -> alphabet shift locked. // Press and slide from shift key, enter alphabet shifted. pressAndSlideFromKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); pressAndSlideFromKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCKED); // Enter/release letter key, switch back to shift locked. pressAndReleaseKey('Z', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); } Loading tests/src/com/android/inputmethod/keyboard/internal/MockKeyboardSwitcher.java +9 −2 Original line number Diff line number Diff line Loading @@ -40,8 +40,9 @@ public class MockKeyboardSwitcher implements KeyboardState.SwitchActions { public static final int ALPHABET_MANUAL_SHIFTED = 1; public static final int ALPHABET_AUTOMATIC_SHIFTED = 2; public static final int ALPHABET_SHIFT_LOCKED = 3; public static final int SYMBOLS_UNSHIFTED = 4; public static final int SYMBOLS_SHIFTED = 5; public static final int ALPHABET_SHIFT_LOCK_SHIFTED = 4; public static final int SYMBOLS_UNSHIFTED = 5; public static final int SYMBOLS_SHIFTED = 6; } private int mLayout = Constants.ALPHABET_UNSHIFTED; Loading @@ -62,6 +63,7 @@ public class MockKeyboardSwitcher implements KeyboardState.SwitchActions { case Constants.ALPHABET_MANUAL_SHIFTED: return "ALPHABET_MANUAL_SHIFTED"; case Constants.ALPHABET_AUTOMATIC_SHIFTED: return "ALPHABET_AUTOMATIC_SHIFTED"; case Constants.ALPHABET_SHIFT_LOCKED: return "ALPHABET_SHIFT_LOCKED"; case Constants.ALPHABET_SHIFT_LOCK_SHIFTED: return "ALPHABET_SHIFT_LOCK_SHIFTED"; case Constants.SYMBOLS_UNSHIFTED: return "SYMBOLS_UNSHIFTED"; case Constants.SYMBOLS_SHIFTED: return "SYMBOLS_SHIFTED"; default: return "UNKNOWN<" + layoutId + ">"; Loading Loading @@ -92,6 +94,11 @@ public class MockKeyboardSwitcher implements KeyboardState.SwitchActions { mLayout = Constants.ALPHABET_SHIFT_LOCKED; } @Override public void setAlphabetShiftLockShiftedKeyboard() { mLayout = Constants.ALPHABET_SHIFT_LOCK_SHIFTED; } @Override public void setSymbolsKeyboard() { mLayout = Constants.SYMBOLS_UNSHIFTED; Loading Loading
java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +12 −0 Original line number Diff line number Diff line Loading @@ -240,6 +240,7 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions, private static final int ALPHABET_MANUAL_SHIFTED = 1; private static final int ALPHABET_AUTOMATIC_SHIFTED = 2; private static final int ALPHABET_SHIFT_LOCKED = 3; private static final int ALPHABET_SHIFT_LOCK_SHIFTED = 4; // TODO: Remove this method. private void updateAlphabetKeyboardShiftState(int shiftMode) { Loading @@ -260,6 +261,10 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions, case ALPHABET_SHIFT_LOCKED: keyboard.setShiftLocked(true); break; case ALPHABET_SHIFT_LOCK_SHIFTED: keyboard.setShiftLocked(true); keyboard.setShifted(true); break; } mKeyboardView.invalidateAllKeys(); if (shiftMode != ALPHABET_SHIFT_LOCKED) { Loading Loading @@ -298,6 +303,13 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions, updateAlphabetKeyboardShiftState(ALPHABET_SHIFT_LOCKED); } // Implements {@link KeyboardState.SwitchActions}. @Override public void setAlphabetShiftLockShiftedKeyboard() { setKeyboard(mKeyboardSet.getMainKeyboard()); updateAlphabetKeyboardShiftState(ALPHABET_SHIFT_LOCK_SHIFTED); } // Implements {@link KeyboardState.SwitchActions}. @Override public void setSymbolsKeyboard() { Loading
java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java +7 −8 Original line number Diff line number Diff line Loading @@ -43,8 +43,7 @@ public class KeyboardState { public void setAlphabetManualShiftedKeyboard(); public void setAlphabetAutomaticShiftedKeyboard(); public void setAlphabetShiftLockedKeyboard(); // TODO: Add this. //public void setAlphabetShiftLockShiftedKeyboard(); public void setAlphabetShiftLockShiftedKeyboard(); public void setSymbolsKeyboard(); public void setSymbolsShiftedKeyboard(); Loading Loading @@ -157,14 +156,10 @@ public class KeyboardState { } } // TODO: Remove this method. public boolean isShiftLocked() { return mAlphabetShiftState.isShiftLocked(); } private static final int UNSHIFT = 0; private static final int MANUAL_SHIFT = 1; private static final int AUTOMATIC_SHIFT = 2; private static final int SHIFT_LOCK_SHIFTED = 3; private void setShifted(int shiftMode) { if (DEBUG_ACTION) { Loading Loading @@ -198,6 +193,10 @@ public class KeyboardState { mSwitchActions.setAlphabetKeyboard(); } break; case SHIFT_LOCK_SHIFTED: mAlphabetShiftState.setShifted(true); mSwitchActions.setAlphabetShiftLockShiftedKeyboard(); break; } } Loading Loading @@ -349,7 +348,7 @@ public class KeyboardState { if (mAlphabetShiftState.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. setShifted(MANUAL_SHIFT); setShifted(SHIFT_LOCK_SHIFTED); mShiftKeyState.onPress(); } else if (mAlphabetShiftState.isAutomaticTemporaryUpperCase()) { // Shift key is pressed while automatic temporary upper case, we have to move to Loading
tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateMultiTouchTests.java +2 −2 Original line number Diff line number Diff line Loading @@ -40,9 +40,9 @@ public class KeyboardStateMultiTouchTests extends KeyboardStateTestsBase { longPressShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); // Press shift key and hold, enter into choring shift state. pressKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED); pressKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED); // Press/release letter key. chordingPressAndReleaseKey('Z', ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); chordingPressAndReleaseKey('Z', ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCK_SHIFTED); // Release shift key, switch back to alphabet shift locked. releaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCKED); Loading
tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateSingleTouchTests.java +6 −6 Original line number Diff line number Diff line Loading @@ -246,13 +246,13 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase { pressAndReleaseKey(CODE_SPACE, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); // Press/release shift key, back to alphabet. pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); // Long press shift key, enter alphabet shift locked. longPressShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); // Long press shift key, back to alphabet. longPressShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); longPressShiftKey(ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); } // Double tap shift key. Loading @@ -265,7 +265,7 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase { secondTapShiftKey(ALPHABET_SHIFT_LOCKED); // First shift key tap. pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); // Second shift key tap. // Second tap is ignored in LatinKeyboardView.KeyTimerHandler. } Loading @@ -289,7 +289,7 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase { // Update shift state, remained in alphabet shift locked. updateShiftState(ALPHABET_SHIFT_LOCKED); // Long press shift key, back to alphabet. longPressShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); longPressShiftKey(ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); // Press/release "?123" key, enter into symbols. pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); Loading Loading @@ -320,7 +320,7 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase { // Update shift state, remained in alphabet shift locked (not automatic shifted). updateShiftState(ALPHABET_SHIFT_LOCKED); // Long press shift key, back to alphabet. longPressShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); longPressShiftKey(ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); // Load keyboard, should be in automatic shifted. loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); Loading Loading @@ -375,7 +375,7 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase { // Alphabet shift locked -> "?123" key + letter -> alphabet shift locked. // Press and slide from shift key, enter alphabet shifted. pressAndSlideFromKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); pressAndSlideFromKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCKED); // Enter/release letter key, switch back to shift locked. pressAndReleaseKey('Z', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); } Loading
tests/src/com/android/inputmethod/keyboard/internal/MockKeyboardSwitcher.java +9 −2 Original line number Diff line number Diff line Loading @@ -40,8 +40,9 @@ public class MockKeyboardSwitcher implements KeyboardState.SwitchActions { public static final int ALPHABET_MANUAL_SHIFTED = 1; public static final int ALPHABET_AUTOMATIC_SHIFTED = 2; public static final int ALPHABET_SHIFT_LOCKED = 3; public static final int SYMBOLS_UNSHIFTED = 4; public static final int SYMBOLS_SHIFTED = 5; public static final int ALPHABET_SHIFT_LOCK_SHIFTED = 4; public static final int SYMBOLS_UNSHIFTED = 5; public static final int SYMBOLS_SHIFTED = 6; } private int mLayout = Constants.ALPHABET_UNSHIFTED; Loading @@ -62,6 +63,7 @@ public class MockKeyboardSwitcher implements KeyboardState.SwitchActions { case Constants.ALPHABET_MANUAL_SHIFTED: return "ALPHABET_MANUAL_SHIFTED"; case Constants.ALPHABET_AUTOMATIC_SHIFTED: return "ALPHABET_AUTOMATIC_SHIFTED"; case Constants.ALPHABET_SHIFT_LOCKED: return "ALPHABET_SHIFT_LOCKED"; case Constants.ALPHABET_SHIFT_LOCK_SHIFTED: return "ALPHABET_SHIFT_LOCK_SHIFTED"; case Constants.SYMBOLS_UNSHIFTED: return "SYMBOLS_UNSHIFTED"; case Constants.SYMBOLS_SHIFTED: return "SYMBOLS_SHIFTED"; default: return "UNKNOWN<" + layoutId + ">"; Loading Loading @@ -92,6 +94,11 @@ public class MockKeyboardSwitcher implements KeyboardState.SwitchActions { mLayout = Constants.ALPHABET_SHIFT_LOCKED; } @Override public void setAlphabetShiftLockShiftedKeyboard() { mLayout = Constants.ALPHABET_SHIFT_LOCK_SHIFTED; } @Override public void setSymbolsKeyboard() { mLayout = Constants.SYMBOLS_UNSHIFTED; Loading