Refactor all phantom-space-inserted spaces in one place
Bug: 7164981
Change-Id: If1635c212b2d5d9cf51f5fb074f3b20dd7ec7b2a
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index cf7eea7..023619d 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1405,7 +1405,7 @@
mHandler.postUpdateSuggestionStrip();
final CharSequence text = specificTldProcessingOnTextInput(rawText);
if (SPACE_STATE_PHANTOM == mSpaceState) {
- sendKeyCodePoint(Keyboard.CODE_SPACE);
+ promotePhantomSpace();
}
mConnection.commitText(text, 1);
mConnection.endBatchEdit();
@@ -1568,7 +1568,7 @@
mWordComposer.setBatchInputWord(batchInputText);
mConnection.beginBatchEdit();
if (SPACE_STATE_PHANTOM == mSpaceState) {
- sendKeyCodePoint(Keyboard.CODE_SPACE);
+ promotePhantomSpace();
}
mConnection.setComposingText(batchInputText, 1);
mExpectingUpdateSelection = true;
@@ -1724,7 +1724,7 @@
// Sanity check
throw new RuntimeException("Should not be composing here");
}
- sendKeyCodePoint(Keyboard.CODE_SPACE);
+ promotePhantomSpace();
}
// NOTE: isCursorTouchingWord() is a blocking IPC call, so it often takes several
@@ -1802,7 +1802,7 @@
if (SPACE_STATE_PHANTOM == spaceState &&
mCurrentSettings.isPhantomSpacePromotingSymbol(primaryCode)) {
- sendKeyCodePoint(Keyboard.CODE_SPACE);
+ promotePhantomSpace();
}
sendKeyCodePoint(primaryCode);
@@ -2071,7 +2071,7 @@
int firstChar = Character.codePointAt(suggestion, 0);
if ((!mCurrentSettings.isWeakSpaceStripper(firstChar))
&& (!mCurrentSettings.isWeakSpaceSwapper(firstChar))) {
- sendKeyCodePoint(Keyboard.CODE_SPACE);
+ promotePhantomSpace();
}
}
@@ -2249,6 +2249,11 @@
mHandler.postUpdateSuggestionStrip();
}
+ // This essentially inserts a space, and that's it.
+ public void promotePhantomSpace() {
+ sendKeyCodePoint(Keyboard.CODE_SPACE);
+ }
+
// Used by the RingCharBuffer
public boolean isWordSeparator(final int code) {
return mCurrentSettings.isWordSeparator(code);