Decouple member logic from control flow
This place is very confusing because a member variable with a consistent meaning is hijacked for the duration of a function to mean something else. This is in the way of easy-to-understand refactoring. Change-Id: If79bc771950d6bfc0ad5f0e9c51c7ef1dbb45b66
This commit is contained in:
parent
edf4995a3b
commit
7b5bc1ff4d
1 changed files with 8 additions and 4 deletions
|
@ -1510,13 +1510,16 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
|
||||||
if (null != ic) removeTrailingSpaceWhileInBatchEdit(ic);
|
if (null != ic) removeTrailingSpaceWhileInBatchEdit(ic);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean isComposingWord = mHasUncommittedTypedChars;
|
||||||
int code = primaryCode;
|
int code = primaryCode;
|
||||||
if ((isAlphabet(code) || mSettingsValues.isSymbolExcludedFromWordSeparators(code))
|
if ((isAlphabet(code) || mSettingsValues.isSymbolExcludedFromWordSeparators(code))
|
||||||
&& isSuggestionsRequested() && !isCursorTouchingWord()) {
|
&& isSuggestionsRequested() && !isCursorTouchingWord()) {
|
||||||
if (!mHasUncommittedTypedChars) {
|
if (!isComposingWord) {
|
||||||
// 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 character is a single quote. The idea here is, single quote is not a
|
||||||
mHasUncommittedTypedChars = (Keyboard.CODE_SINGLE_QUOTE != code);
|
// separator and it should be treated as a normal character, except in the first
|
||||||
|
// position where it should not start composing a word.
|
||||||
|
isComposingWord = (Keyboard.CODE_SINGLE_QUOTE != code);
|
||||||
mWordComposer.reset();
|
mWordComposer.reset();
|
||||||
clearSuggestions();
|
clearSuggestions();
|
||||||
mComposingStateManager.onFinishComposingText();
|
mComposingStateManager.onFinishComposingText();
|
||||||
|
@ -1543,7 +1546,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (mHasUncommittedTypedChars) {
|
if (isComposingWord) {
|
||||||
|
mHasUncommittedTypedChars = true;
|
||||||
mWordComposer.add(code, keyCodes, x, y);
|
mWordComposer.add(code, keyCodes, x, y);
|
||||||
if (ic != null) {
|
if (ic != null) {
|
||||||
// If it's the first letter, make note of auto-caps state
|
// If it's the first letter, make note of auto-caps state
|
||||||
|
|
Loading…
Reference in a new issue