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

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

Fix a bug where last candidate would not be reset

Bug: 5851148
Change-Id: Ic270318842d8e16bc62d78d5fe0d6be0ca1fb532
parent 8c111043
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -850,6 +850,11 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
                || newSelEnd != candidatesEnd) && mLastSelectionStart != newSelStart;
        final boolean candidatesCleared = candidatesStart == -1 && candidatesEnd == -1;
        if (!mExpectingUpdateSelection) {
            // TAKE CARE: there is a race condition when we enter this test even when the user
            // did not explicitly move the cursor. This happens when typing fast, where two keys
            // turn this flag on in succession and both onUpdateSelection() calls arrive after
            // the second one - the first call successfully avoids this test, but the second one
            // enters. For the moment we rely on candidatesCleared to further reduce the impact.
            if (SPACE_STATE_WEAK == mSpaceState) {
                // Test for no WEAK_SPACE action because there is a race condition that may end up
                // in coming here on a normal key press. We set this to NONE because after
@@ -869,6 +874,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
                mComposingStateManager.onFinishComposingText();
                mVoiceProxy.setVoiceInputHighlighted(false);
            } else if (!mWordComposer.isComposingWord()) {
                mWordComposer.reset();
                updateSuggestions();
            }
        }