Loading java/src/com/android/inputmethod/keyboard/Keyboard.java +2 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,8 @@ public class Keyboard { public static final int CODE_CLOSING_SQUARE_BRACKET = ']'; public static final int CODE_CLOSING_CURLY_BRACKET = '}'; public static final int CODE_CLOSING_ANGLE_BRACKET = '>'; public static final int CODE_DIGIT0 = '0'; public static final int CODE_PLUS = '+'; /** Special keys code. These should be aligned with values/keycodes.xml */ Loading java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java +30 −30 Original line number Diff line number Diff line Loading @@ -53,55 +53,55 @@ public class LatinKeyboardView extends LatinKeyboardBaseView { @Override public void setKeyPreviewPopupEnabled(boolean previewEnabled, int delay) { LatinKeyboard latinKeyboard = getLatinKeyboard(); if (latinKeyboard != null && (latinKeyboard.isPhoneKeyboard() || latinKeyboard.isNumberKeyboard())) { // Phone and number keyboard never shows popup preview (except language switch). final Keyboard keyboard = getKeyboard(); if (keyboard instanceof LatinKeyboard) { final LatinKeyboard latinKeyboard = (LatinKeyboard)keyboard; if (latinKeyboard.isPhoneKeyboard() || latinKeyboard.isNumberKeyboard()) { // Phone and number keyboard never shows popup preview. super.setKeyPreviewPopupEnabled(false, delay); } else { super.setKeyPreviewPopupEnabled(previewEnabled, delay); return; } } super.setKeyPreviewPopupEnabled(previewEnabled, delay); } @Override public void setKeyboard(Keyboard newKeyboard) { super.setKeyboard(newKeyboard); // One-seventh of the keyboard width seems like a reasonable threshold mJumpThresholdSquare = newKeyboard.getMinWidth() / 7; mJumpThresholdSquare *= mJumpThresholdSquare; } private LatinKeyboard getLatinKeyboard() { Keyboard keyboard = getKeyboard(); if (keyboard instanceof LatinKeyboard) { return (LatinKeyboard)keyboard; } else { return null; } final int jumpThreshold = newKeyboard.getMinWidth() / 7; mJumpThresholdSquare = jumpThreshold * jumpThreshold; } public void setSpacebarTextFadeFactor(float fadeFactor, LatinKeyboard oldKeyboard) { final LatinKeyboard currentKeyboard = getLatinKeyboard(); final Keyboard keyboard = getKeyboard(); // We should not set text fade factor to the keyboard which does not display the language on // its spacebar. if (currentKeyboard != null && currentKeyboard == oldKeyboard) currentKeyboard.setSpacebarTextFadeFactor(fadeFactor, this); if (keyboard instanceof LatinKeyboard && keyboard == oldKeyboard) { ((LatinKeyboard)keyboard).setSpacebarTextFadeFactor(fadeFactor, this); } } @Override protected boolean onLongPress(Key key, PointerTracker tracker) { int primaryCode = key.mCode; if (primaryCode == Keyboard.CODE_SETTINGS || primaryCode == Keyboard.CODE_SPACE) { tracker.onLongPressed(); // Both long pressing settings key and space key invoke IME switcher dialog. return invokeOnKey(Keyboard.CODE_SETTINGS_LONGPRESS); } else if (primaryCode == '0' && getLatinKeyboard().isPhoneKeyboard()) { final int primaryCode = key.mCode; final Keyboard keyboard = getKeyboard(); if (keyboard instanceof LatinKeyboard) { final LatinKeyboard latinKeyboard = (LatinKeyboard) keyboard; if (primaryCode == Keyboard.CODE_DIGIT0 && latinKeyboard.isPhoneKeyboard()) { tracker.onLongPressed(); // Long pressing on 0 in phone number keypad gives you a '+'. return invokeOnKey('+'); } else if (primaryCode == Keyboard.CODE_SHIFT) { return invokeOnKey(Keyboard.CODE_PLUS); } if (primaryCode == Keyboard.CODE_SHIFT && latinKeyboard.isAlphaKeyboard()) { tracker.onLongPressed(); return invokeOnKey(Keyboard.CODE_CAPSLOCK); } } if (primaryCode == Keyboard.CODE_SETTINGS || primaryCode == Keyboard.CODE_SPACE) { tracker.onLongPressed(); // Both long pressing settings key and space key invoke IME switcher dialog. return invokeOnKey(Keyboard.CODE_SETTINGS_LONGPRESS); } else { return super.onLongPress(key, tracker); } Loading Loading @@ -194,7 +194,7 @@ public class LatinKeyboardView extends LatinKeyboardBaseView { @Override public boolean onTouchEvent(MotionEvent me) { if (getLatinKeyboard() == null) return true; if (getKeyboard() == null) return true; // If there was a sudden jump, return without processing the actual motion event. if (handleSuddenJump(me)) { Loading Loading
java/src/com/android/inputmethod/keyboard/Keyboard.java +2 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,8 @@ public class Keyboard { public static final int CODE_CLOSING_SQUARE_BRACKET = ']'; public static final int CODE_CLOSING_CURLY_BRACKET = '}'; public static final int CODE_CLOSING_ANGLE_BRACKET = '>'; public static final int CODE_DIGIT0 = '0'; public static final int CODE_PLUS = '+'; /** Special keys code. These should be aligned with values/keycodes.xml */ Loading
java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java +30 −30 Original line number Diff line number Diff line Loading @@ -53,55 +53,55 @@ public class LatinKeyboardView extends LatinKeyboardBaseView { @Override public void setKeyPreviewPopupEnabled(boolean previewEnabled, int delay) { LatinKeyboard latinKeyboard = getLatinKeyboard(); if (latinKeyboard != null && (latinKeyboard.isPhoneKeyboard() || latinKeyboard.isNumberKeyboard())) { // Phone and number keyboard never shows popup preview (except language switch). final Keyboard keyboard = getKeyboard(); if (keyboard instanceof LatinKeyboard) { final LatinKeyboard latinKeyboard = (LatinKeyboard)keyboard; if (latinKeyboard.isPhoneKeyboard() || latinKeyboard.isNumberKeyboard()) { // Phone and number keyboard never shows popup preview. super.setKeyPreviewPopupEnabled(false, delay); } else { super.setKeyPreviewPopupEnabled(previewEnabled, delay); return; } } super.setKeyPreviewPopupEnabled(previewEnabled, delay); } @Override public void setKeyboard(Keyboard newKeyboard) { super.setKeyboard(newKeyboard); // One-seventh of the keyboard width seems like a reasonable threshold mJumpThresholdSquare = newKeyboard.getMinWidth() / 7; mJumpThresholdSquare *= mJumpThresholdSquare; } private LatinKeyboard getLatinKeyboard() { Keyboard keyboard = getKeyboard(); if (keyboard instanceof LatinKeyboard) { return (LatinKeyboard)keyboard; } else { return null; } final int jumpThreshold = newKeyboard.getMinWidth() / 7; mJumpThresholdSquare = jumpThreshold * jumpThreshold; } public void setSpacebarTextFadeFactor(float fadeFactor, LatinKeyboard oldKeyboard) { final LatinKeyboard currentKeyboard = getLatinKeyboard(); final Keyboard keyboard = getKeyboard(); // We should not set text fade factor to the keyboard which does not display the language on // its spacebar. if (currentKeyboard != null && currentKeyboard == oldKeyboard) currentKeyboard.setSpacebarTextFadeFactor(fadeFactor, this); if (keyboard instanceof LatinKeyboard && keyboard == oldKeyboard) { ((LatinKeyboard)keyboard).setSpacebarTextFadeFactor(fadeFactor, this); } } @Override protected boolean onLongPress(Key key, PointerTracker tracker) { int primaryCode = key.mCode; if (primaryCode == Keyboard.CODE_SETTINGS || primaryCode == Keyboard.CODE_SPACE) { tracker.onLongPressed(); // Both long pressing settings key and space key invoke IME switcher dialog. return invokeOnKey(Keyboard.CODE_SETTINGS_LONGPRESS); } else if (primaryCode == '0' && getLatinKeyboard().isPhoneKeyboard()) { final int primaryCode = key.mCode; final Keyboard keyboard = getKeyboard(); if (keyboard instanceof LatinKeyboard) { final LatinKeyboard latinKeyboard = (LatinKeyboard) keyboard; if (primaryCode == Keyboard.CODE_DIGIT0 && latinKeyboard.isPhoneKeyboard()) { tracker.onLongPressed(); // Long pressing on 0 in phone number keypad gives you a '+'. return invokeOnKey('+'); } else if (primaryCode == Keyboard.CODE_SHIFT) { return invokeOnKey(Keyboard.CODE_PLUS); } if (primaryCode == Keyboard.CODE_SHIFT && latinKeyboard.isAlphaKeyboard()) { tracker.onLongPressed(); return invokeOnKey(Keyboard.CODE_CAPSLOCK); } } if (primaryCode == Keyboard.CODE_SETTINGS || primaryCode == Keyboard.CODE_SPACE) { tracker.onLongPressed(); // Both long pressing settings key and space key invoke IME switcher dialog. return invokeOnKey(Keyboard.CODE_SETTINGS_LONGPRESS); } else { return super.onLongPress(key, tracker); } Loading Loading @@ -194,7 +194,7 @@ public class LatinKeyboardView extends LatinKeyboardBaseView { @Override public boolean onTouchEvent(MotionEvent me) { if (getLatinKeyboard() == null) return true; if (getKeyboard() == null) return true; // If there was a sudden jump, return without processing the actual motion event. if (handleSuddenJump(me)) { Loading