Fix a bug where a batch edit would not be started.
This would end up in TextView sometimes calling onUpdateSelection multiple times (this is the correct behavior for TextView). We now commit the space and the word in a batch edit, and we only get onUpdateSelection once. Bug: 6300527 Change-Id: I9579f3d8f5320c1cc24a7a42f19db8e105eb090d
This commit is contained in:
parent
5f1d71fbc8
commit
96fb3094aa
1 changed files with 3 additions and 1 deletions
|
@ -1793,6 +1793,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
public void pickSuggestionManually(final int index, final CharSequence suggestion,
|
||||
int x, int y) {
|
||||
final SuggestedWords suggestedWords = mSuggestionsView.getSuggestions();
|
||||
final InputConnection ic = getCurrentInputConnection();
|
||||
if (ic != null) ic.beginBatchEdit();
|
||||
|
||||
if (SPACE_STATE_PHANTOM == mSpaceState && suggestion.length() > 0) {
|
||||
int firstChar = Character.codePointAt(suggestion, 0);
|
||||
|
@ -1810,7 +1812,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
}
|
||||
mKeyboardSwitcher.updateShiftState();
|
||||
resetComposingState(true /* alsoResetLastComposedWord */);
|
||||
final InputConnection ic = getCurrentInputConnection();
|
||||
if (ic != null) {
|
||||
final CompletionInfo completionInfo = mApplicationSpecifiedCompletions[index];
|
||||
ic.commitCompletion(completionInfo);
|
||||
|
@ -1889,6 +1890,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
mHandler.postUpdateSuggestions();
|
||||
}
|
||||
}
|
||||
if (null != ic) ic.endBatchEdit();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue