Small optimization
Change-Id: I067249976e557b60b606d2153deaeb3c8f1f38ac
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index b4be7e6..fc83167 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1478,9 +1478,12 @@
sendKeyCodePoint(Keyboard.CODE_SPACE);
}
- if ((isAlphabet(primaryCode)
+ // NOTE: isCursorTouchingWord() is a blocking IPC call, so it often takes several
+ // dozen milliseconds. Avoid calling it as much as possible, since we are on the UI
+ // thread here.
+ if (!isComposingWord && (isAlphabet(primaryCode)
|| mSettingsValues.isSymbolExcludedFromWordSeparators(primaryCode))
- && isSuggestionsRequested() && !isComposingWord && !isCursorTouchingWord()) {
+ && isSuggestionsRequested() && !isCursorTouchingWord()) {
// Reset entirely the composing state anyway, then start composing a new word unless
// the character is a single quote. The idea here is, single quote is not a
// separator and it should be treated as a normal character, except in the first