[IL67] Externalize a call to the keyboard switcher
Bug: 8636060 Change-Id: Ib13a54854e30afb79217a0a1f2aeca50a95ba155
This commit is contained in:
parent
ab80b41a0d
commit
eb6d41a525
3 changed files with 22 additions and 11 deletions
|
@ -216,8 +216,9 @@ public final class Constants {
|
|||
public static final int CODE_LANGUAGE_SWITCH = -10;
|
||||
public static final int CODE_EMOJI = -11;
|
||||
public static final int CODE_SHIFT_ENTER = -12;
|
||||
public static final int CODE_SYMBOL_SHIFT = -13;
|
||||
// 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) {
|
||||
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.
|
||||
final int keyX = mainKeyboardView.getKeyX(x);
|
||||
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);
|
||||
mKeyboardSwitcher.onCodeInput(codePoint);
|
||||
}
|
||||
|
|
|
@ -230,20 +230,17 @@ public final class InputLogic {
|
|||
LatinImeLogger.logOnDelete(x, y);
|
||||
break;
|
||||
case Constants.CODE_SHIFT:
|
||||
// Note: Calling back to the keyboard on Shift key is handled in
|
||||
// {@link #onPressKey(int,int,boolean)} and {@link #onReleaseKey(int,boolean)}.
|
||||
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();
|
||||
}
|
||||
performRecapitalization(settingsValues);
|
||||
keyboardSwitcher.updateShiftState();
|
||||
break;
|
||||
case Constants.CODE_CAPSLOCK:
|
||||
// Note: Changing keyboard to shift lock state is handled in
|
||||
// {@link KeyboardSwitcher#onCodeInput(int)}.
|
||||
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:
|
||||
// Note: Calling back to the keyboard on symbol key is handled in
|
||||
// {@link #onPressKey(int,int,boolean)} and {@link #onReleaseKey(int,boolean)}.
|
||||
|
|
Loading…
Reference in a new issue