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