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

Commit 7677a0ee authored by Jean Chalard's avatar Jean Chalard Committed by Android (Google) Code Review
Browse files

Merge "Handle correctly the restarting argument"

parents 97c8d288 aa906c36
Loading
Loading
Loading
Loading
+30 −16
Original line number Diff line number Diff line
@@ -659,21 +659,34 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
            accessUtils.onStartInputViewInternal(editorInfo, restarting);
        }

        if (!restarting) {
            mSubtypeSwitcher.updateParametersOnStartInputView();
        }

        // The EditorInfo might have a flag that affects fullscreen mode.
        // Note: This call should be done by InputMethodService?
        updateFullscreenMode();
        mLastSelectionStart = editorInfo.initialSelStart;
        mLastSelectionEnd = editorInfo.initialSelEnd;
        mApplicationSpecifiedCompletions = null;

        inputView.closing();
        final boolean selectionChanged = mLastSelectionStart != editorInfo.initialSelStart
                || mLastSelectionEnd != editorInfo.initialSelEnd;
        if (!restarting || selectionChanged) {
            // If the selection changed, we reset the input state. Essentially, we come here with
            // restarting == true when the app called setText() or similar. We should reset the
            // state if the app set the text to something else, but keep it if it set a suggestion
            // or something.
            mEnteredText = null;
            resetComposingState(true /* alsoResetLastComposedWord */);
            mDeleteCount = 0;
            mSpaceState = SPACE_STATE_NONE;

            if (mSuggestionStripView != null) {
                mSuggestionStripView.clear();
            }
        }

        if (!restarting) {
            inputView.closing();
            loadSettings();

            if (mSuggest != null && mCurrentSettings.mCorrectionEnabled) {
@@ -682,12 +695,13 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen

            switcher.loadKeyboard(editorInfo, mCurrentSettings);
            updateKeyboardViewGestureHandlingModeByMainDictionaryAvailability();

        if (mSuggestionStripView != null)
            mSuggestionStripView.clear();
        }
        setSuggestionStripShownInternal(
                isSuggestionsStripVisible(), /* needsInputViewShown */ false);

        mLastSelectionStart = editorInfo.initialSelStart;
        mLastSelectionEnd = editorInfo.initialSelEnd;

        mHandler.cancelUpdateSuggestionStrip();
        mHandler.cancelDoubleSpacesTimer();