Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 025a5e35 authored by Ken Wakasa's avatar Ken Wakasa
Browse files

Reset the suggestion status when composing span gets cleared

bug: 3353818

Change-Id: I87b80470015dbeb2eaaec9aa4d9d802597c18e19
parent 952cb7e9
Loading
Loading
Loading
Loading
+14 −3
Original line number Diff line number Diff line
@@ -694,6 +694,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
        if (DEBUG) {
            Log.i(TAG, "onUpdateSelection: oss=" + oldSelStart
                    + ", ose=" + oldSelEnd
                    + ", lss=" + mLastSelectionStart
                    + ", lse=" + mLastSelectionEnd
                    + ", nss=" + newSelStart
                    + ", nse=" + newSelEnd
                    + ", cs=" + candidatesStart
@@ -704,9 +706,18 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen

        // If the current selection in the text view changes, we should
        // clear whatever candidate text we have.
        if ((((mComposing.length() > 0 && mHasValidSuggestions)
                || mVoiceConnector.isVoiceInputHighlighted()) && (newSelStart != candidatesEnd
                        || newSelEnd != candidatesEnd) && mLastSelectionStart != newSelStart)) {
        final boolean selectionChanged = (newSelStart != candidatesEnd
                || 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);
            mHasValidSuggestions = false;
            mHandler.postUpdateSuggestions();