Loading java/src/com/android/inputmethod/keyboard/KeyboardActionListener.java +18 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,20 @@ public interface KeyboardActionListener { */ public void onTextInput(CharSequence text); // TODO: Should move this method to some more appropriate interface. /** * Called when user started batch input. */ public void onStartBatchInput(); // TODO: Should move this method to some more appropriate interface. /** * Sends a sequence of characters to the listener as batch input. * * @param text the sequence of characters to be displayed as composing text. */ public void onEndBatchInput(CharSequence text); /** * Called when user released a finger outside any key. */ Loading @@ -85,6 +99,10 @@ public interface KeyboardActionListener { @Override public void onTextInput(CharSequence text) {} @Override public void onStartBatchInput() {} @Override public void onEndBatchInput(CharSequence text) {} @Override public void onCancelInput() {} @Override public boolean onCustomRequest(int requestCode) { Loading java/src/com/android/inputmethod/keyboard/MoreKeysKeyboardView.java +10 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,16 @@ public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel mListener.onTextInput(text); } @Override public void onStartBatchInput() { mListener.onStartBatchInput(); } @Override public void onEndBatchInput(CharSequence text) { mListener.onEndBatchInput(text); } @Override public void onCancelInput() { mListener.onCancelInput(); Loading java/src/com/android/inputmethod/latin/LatinIME.java +34 −1 Original line number Diff line number Diff line Loading @@ -1272,6 +1272,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen if (mCurrentSettings.isWordSeparator(primaryCode)) { didAutoCorrect = handleSeparator(primaryCode, x, y, spaceState); } else { if (SPACE_STATE_PHANTOM == spaceState) { commitTyped(LastComposedWord.NOT_A_SEPARATOR); } final Keyboard keyboard = mKeyboardSwitcher.getKeyboard(); if (keyboard != null && keyboard.hasProximityCharsCorrection(primaryCode)) { handleCharacter(primaryCode, x, y, spaceState); Loading Loading @@ -1313,6 +1316,31 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen resetComposingState(true /* alsoResetLastComposedWord */); } @Override public void onStartBatchInput() { mConnection.beginBatchEdit(); if (mWordComposer.isComposingWord()) { commitTyped(LastComposedWord.NOT_A_SEPARATOR); mExpectingUpdateSelection = true; // TODO: Can we remove this? mSpaceState = SPACE_STATE_PHANTOM; } mConnection.endBatchEdit(); } @Override public void onEndBatchInput(CharSequence text) { mConnection.beginBatchEdit(); if (SPACE_STATE_PHANTOM == mSpaceState) { sendKeyCodePoint(Keyboard.CODE_SPACE); } mConnection.setComposingText(text, 1); mExpectingUpdateSelection = true; mConnection.endBatchEdit(); mKeyboardSwitcher.updateShiftState(); mSpaceState = SPACE_STATE_PHANTOM; } private CharSequence specificTldProcessingOnTextInput(final CharSequence text) { if (text.length() <= 1 || text.charAt(0) != Keyboard.CODE_PERIOD || !Character.isLetter(text.charAt(1))) { Loading Loading @@ -1359,7 +1387,12 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen if (mWordComposer.isComposingWord()) { final int length = mWordComposer.size(); if (length > 0) { // Immediately after a batch input. if (SPACE_STATE_PHANTOM == spaceState) { mWordComposer.reset(); } else { mWordComposer.deleteLast(); } mConnection.setComposingText(getTextWithUnderline(mWordComposer.getTypedWord()), 1); // If we have deleted the last remaining character of a word, then we are not // isComposingWord() any more. Loading Loading
java/src/com/android/inputmethod/keyboard/KeyboardActionListener.java +18 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,20 @@ public interface KeyboardActionListener { */ public void onTextInput(CharSequence text); // TODO: Should move this method to some more appropriate interface. /** * Called when user started batch input. */ public void onStartBatchInput(); // TODO: Should move this method to some more appropriate interface. /** * Sends a sequence of characters to the listener as batch input. * * @param text the sequence of characters to be displayed as composing text. */ public void onEndBatchInput(CharSequence text); /** * Called when user released a finger outside any key. */ Loading @@ -85,6 +99,10 @@ public interface KeyboardActionListener { @Override public void onTextInput(CharSequence text) {} @Override public void onStartBatchInput() {} @Override public void onEndBatchInput(CharSequence text) {} @Override public void onCancelInput() {} @Override public boolean onCustomRequest(int requestCode) { Loading
java/src/com/android/inputmethod/keyboard/MoreKeysKeyboardView.java +10 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,16 @@ public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel mListener.onTextInput(text); } @Override public void onStartBatchInput() { mListener.onStartBatchInput(); } @Override public void onEndBatchInput(CharSequence text) { mListener.onEndBatchInput(text); } @Override public void onCancelInput() { mListener.onCancelInput(); Loading
java/src/com/android/inputmethod/latin/LatinIME.java +34 −1 Original line number Diff line number Diff line Loading @@ -1272,6 +1272,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen if (mCurrentSettings.isWordSeparator(primaryCode)) { didAutoCorrect = handleSeparator(primaryCode, x, y, spaceState); } else { if (SPACE_STATE_PHANTOM == spaceState) { commitTyped(LastComposedWord.NOT_A_SEPARATOR); } final Keyboard keyboard = mKeyboardSwitcher.getKeyboard(); if (keyboard != null && keyboard.hasProximityCharsCorrection(primaryCode)) { handleCharacter(primaryCode, x, y, spaceState); Loading Loading @@ -1313,6 +1316,31 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen resetComposingState(true /* alsoResetLastComposedWord */); } @Override public void onStartBatchInput() { mConnection.beginBatchEdit(); if (mWordComposer.isComposingWord()) { commitTyped(LastComposedWord.NOT_A_SEPARATOR); mExpectingUpdateSelection = true; // TODO: Can we remove this? mSpaceState = SPACE_STATE_PHANTOM; } mConnection.endBatchEdit(); } @Override public void onEndBatchInput(CharSequence text) { mConnection.beginBatchEdit(); if (SPACE_STATE_PHANTOM == mSpaceState) { sendKeyCodePoint(Keyboard.CODE_SPACE); } mConnection.setComposingText(text, 1); mExpectingUpdateSelection = true; mConnection.endBatchEdit(); mKeyboardSwitcher.updateShiftState(); mSpaceState = SPACE_STATE_PHANTOM; } private CharSequence specificTldProcessingOnTextInput(final CharSequence text) { if (text.length() <= 1 || text.charAt(0) != Keyboard.CODE_PERIOD || !Character.isLetter(text.charAt(1))) { Loading Loading @@ -1359,7 +1387,12 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen if (mWordComposer.isComposingWord()) { final int length = mWordComposer.size(); if (length > 0) { // Immediately after a batch input. if (SPACE_STATE_PHANTOM == spaceState) { mWordComposer.reset(); } else { mWordComposer.deleteLast(); } mConnection.setComposingText(getTextWithUnderline(mWordComposer.getTypedWord()), 1); // If we have deleted the last remaining character of a word, then we are not // isComposingWord() any more. Loading