[IL67] Externalize a call to the keyboard switcher
Bug: 8636060 Change-Id: Ib13a54854e30afb79217a0a1f2aeca50a95ba155main
parent
ab80b41a0d
commit
eb6d41a525
|
@ -216,8 +216,9 @@ public final class Constants {
|
||||||
public static final int CODE_LANGUAGE_SWITCH = -10;
|
public static final int CODE_LANGUAGE_SWITCH = -10;
|
||||||
public static final int CODE_EMOJI = -11;
|
public static final int CODE_EMOJI = -11;
|
||||||
public static final int CODE_SHIFT_ENTER = -12;
|
public static final int CODE_SHIFT_ENTER = -12;
|
||||||
|
public static final int CODE_SYMBOL_SHIFT = -13;
|
||||||
// Code value representing the code is not specified.
|
// Code value representing the code is not specified.
|
||||||
public static final int CODE_UNSPECIFIED = -13;
|
public static final int CODE_UNSPECIFIED = -14;
|
||||||
|
|
||||||
public static boolean isLetterCode(final int code) {
|
public static boolean isLetterCode(final int code) {
|
||||||
return code >= CODE_SPACE;
|
return code >= CODE_SPACE;
|
||||||
|
|
|
@ -1260,7 +1260,20 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
// this transformation, it should be done already before calling onCodeInput.
|
// this transformation, it should be done already before calling onCodeInput.
|
||||||
final int keyX = mainKeyboardView.getKeyX(x);
|
final int keyX = mainKeyboardView.getKeyX(x);
|
||||||
final int keyY = mainKeyboardView.getKeyY(y);
|
final int keyY = mainKeyboardView.getKeyY(y);
|
||||||
mInputLogic.onCodeInput(codePoint, keyX, keyY, mHandler, mKeyboardSwitcher,
|
final int codeToSend;
|
||||||
|
if (Constants.CODE_SHIFT == codePoint) {
|
||||||
|
// TODO: Instead of checking for alphabetic keyboard here, separate keycodes for
|
||||||
|
// alphabetic shift and shift while in symbol layout.
|
||||||
|
final Keyboard currentKeyboard = mKeyboardSwitcher.getKeyboard();
|
||||||
|
if (null != currentKeyboard && currentKeyboard.mId.isAlphabetKeyboard()) {
|
||||||
|
codeToSend = codePoint;
|
||||||
|
} else {
|
||||||
|
codeToSend = Constants.CODE_SYMBOL_SHIFT;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
codeToSend = codePoint;
|
||||||
|
}
|
||||||
|
mInputLogic.onCodeInput(codeToSend, keyX, keyY, mHandler, mKeyboardSwitcher,
|
||||||
mSubtypeSwitcher);
|
mSubtypeSwitcher);
|
||||||
mKeyboardSwitcher.onCodeInput(codePoint);
|
mKeyboardSwitcher.onCodeInput(codePoint);
|
||||||
}
|
}
|
||||||
|
|
|
@ -230,20 +230,17 @@ public final class InputLogic {
|
||||||
LatinImeLogger.logOnDelete(x, y);
|
LatinImeLogger.logOnDelete(x, y);
|
||||||
break;
|
break;
|
||||||
case Constants.CODE_SHIFT:
|
case Constants.CODE_SHIFT:
|
||||||
// Note: Calling back to the keyboard on Shift key is handled in
|
performRecapitalization(settingsValues);
|
||||||
// {@link #onPressKey(int,int,boolean)} and {@link #onReleaseKey(int,boolean)}.
|
keyboardSwitcher.updateShiftState();
|
||||||
final Keyboard currentKeyboard = keyboardSwitcher.getKeyboard();
|
|
||||||
if (null != currentKeyboard && currentKeyboard.mId.isAlphabetKeyboard()) {
|
|
||||||
// TODO: Instead of checking for alphabetic keyboard here, separate keycodes for
|
|
||||||
// alphabetic shift and shift while in symbol layout.
|
|
||||||
performRecapitalization(settingsValues);
|
|
||||||
keyboardSwitcher.updateShiftState();
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case Constants.CODE_CAPSLOCK:
|
case Constants.CODE_CAPSLOCK:
|
||||||
// Note: Changing keyboard to shift lock state is handled in
|
// Note: Changing keyboard to shift lock state is handled in
|
||||||
// {@link KeyboardSwitcher#onCodeInput(int)}.
|
// {@link KeyboardSwitcher#onCodeInput(int)}.
|
||||||
break;
|
break;
|
||||||
|
case Constants.CODE_SYMBOL_SHIFT:
|
||||||
|
// Note: Calling back to the keyboard on the symbol Shift key is handled in
|
||||||
|
// {@link #onPressKey(int,int,boolean)} and {@link #onReleaseKey(int,boolean)}.
|
||||||
|
break;
|
||||||
case Constants.CODE_SWITCH_ALPHA_SYMBOL:
|
case Constants.CODE_SWITCH_ALPHA_SYMBOL:
|
||||||
// Note: Calling back to the keyboard on symbol key is handled in
|
// Note: Calling back to the keyboard on symbol key is handled in
|
||||||
// {@link #onPressKey(int,int,boolean)} and {@link #onReleaseKey(int,boolean)}.
|
// {@link #onPressKey(int,int,boolean)} and {@link #onReleaseKey(int,boolean)}.
|
||||||
|
|
Loading…
Reference in New Issue