Fix a bug where moving the cursor would not reset selection

This change updates suggestions when the cursor is moved.
It is now reasonable to remove the explicit test for
TextEntryState.isAcceptedDefault because it is now shielded
by mExpectingUpdateSelection : actually, this probably fixes
a long-standing bug.

Bug: 5337309
Change-Id: Iee4046420c6a88d1a07d428230f93c3ebef25c39
main
Jean Chalard 2011-10-03 15:50:11 +09:00
parent 397f6f8299
commit cd95a36558
1 changed files with 7 additions and 7 deletions

View File

@ -895,20 +895,16 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
}
mComposingStringBuilder.setLength(0);
mHasUncommittedTypedChars = false;
if (isCursorTouchingWord()) {
mHandler.cancelUpdateBigramPredictions();
mHandler.postUpdateSuggestions();
} else {
setPunctuationSuggestions();
}
TextEntryState.reset();
updateSuggestions();
final InputConnection ic = getCurrentInputConnection();
if (ic != null) {
ic.finishComposingText();
}
mVoiceProxy.setVoiceInputHighlighted(false);
} else if (!mHasUncommittedTypedChars && TextEntryState.isAcceptedDefault()) {
} else if (!mHasUncommittedTypedChars) {
TextEntryState.reset();
updateSuggestions();
}
mJustAddedMagicSpace = false; // The user moved the cursor.
mJustReplacedDoubleSpace = false;
@ -1654,6 +1650,10 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
return;
}
mHandler.cancelUpdateSuggestions();
mHandler.cancelUpdateOldSuggestions();
mHandler.cancelUpdateBigramPredictions();
if (!mHasUncommittedTypedChars) {
setPunctuationSuggestions();
return;