Merge "Reset the suggestion status when composing span gets cleared"

main
Ken Wakasa 2011-03-01 11:43:34 -08:00 committed by Android (Google) Code Review
commit ed895634f8
1 changed files with 14 additions and 3 deletions

View File

@ -694,6 +694,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
if (DEBUG) { if (DEBUG) {
Log.i(TAG, "onUpdateSelection: oss=" + oldSelStart Log.i(TAG, "onUpdateSelection: oss=" + oldSelStart
+ ", ose=" + oldSelEnd + ", ose=" + oldSelEnd
+ ", lss=" + mLastSelectionStart
+ ", lse=" + mLastSelectionEnd
+ ", nss=" + newSelStart + ", nss=" + newSelStart
+ ", nse=" + newSelEnd + ", nse=" + newSelEnd
+ ", cs=" + candidatesStart + ", cs=" + candidatesStart
@ -704,9 +706,18 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// If the current selection in the text view changes, we should // If the current selection in the text view changes, we should
// clear whatever candidate text we have. // clear whatever candidate text we have.
if ((((mComposing.length() > 0 && mHasValidSuggestions) final boolean selectionChanged = (newSelStart != candidatesEnd
|| mVoiceConnector.isVoiceInputHighlighted()) && (newSelStart != candidatesEnd || newSelEnd != candidatesEnd) && mLastSelectionStart != newSelStart;
|| newSelEnd != candidatesEnd) && mLastSelectionStart != newSelStart)) { final boolean candidatesCleared = candidatesStart == -1 && candidatesEnd == -1;
if (((mComposing.length() > 0 && mHasValidSuggestions)
|| mVoiceConnector.isVoiceInputHighlighted())
&& (selectionChanged || candidatesCleared)) {
if (candidatesCleared) {
// If the composing span has been cleared, save the typed word in the history for
// recorrection before we reset the candidate strip. Then, we'll be able to show
// suggestions for recorrection right away.
saveWordInHistory(mComposing);
}
mComposing.setLength(0); mComposing.setLength(0);
mHasValidSuggestions = false; mHasValidSuggestions = false;
mHandler.postUpdateSuggestions(); mHandler.postUpdateSuggestions();