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

Commit cd95a365 authored by Jean Chalard's avatar Jean Chalard
Browse files

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
parent 397f6f82
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -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;