Small optimization

Change-Id: I067249976e557b60b606d2153deaeb3c8f1f38ac
This commit is contained in:
Jean Chalard 2012-05-09 15:45:35 +09:00
parent 442ac5d0bb
commit d5cd7e64aa

View file

@ -1478,9 +1478,12 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
sendKeyCodePoint(Keyboard.CODE_SPACE); 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)) || mSettingsValues.isSymbolExcludedFromWordSeparators(primaryCode))
&& isSuggestionsRequested() && !isComposingWord && !isCursorTouchingWord()) { && isSuggestionsRequested() && !isCursorTouchingWord()) {
// Reset entirely the composing state anyway, then start composing a new word unless // 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 // 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 // separator and it should be treated as a normal character, except in the first