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

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

Merge "[IL99] Migrate some code to InputLogic."

parents 437fa64a 4761d2fb
Loading
Loading
Loading
Loading
+5 −18
Original line number Diff line number Diff line
@@ -1324,25 +1324,12 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
    }

    // TODO[IL]: Define a clear interface for this
    public void setSuggestedWords(final SuggestedWords words, final boolean shouldShow) {
        mInputLogic.mSuggestedWords = words;
        final boolean newAutoCorrectionIndicator = words.mWillAutoCorrect;
        // Put a blue underline to a word in TextView which will be auto-corrected.
        if (mInputLogic.mIsAutoCorrectionIndicatorOn != newAutoCorrectionIndicator
                && mInputLogic.mWordComposer.isComposingWord()) {
            mInputLogic.mIsAutoCorrectionIndicatorOn = newAutoCorrectionIndicator;
            final CharSequence textWithUnderline =
                    mInputLogic.getTextWithUnderline(mInputLogic.mWordComposer.getTypedWord());
            // TODO: when called from an updateSuggestionStrip() call that results from a posted
            // message, this is called outside any batch edit. Potentially, this may result in some
            // janky flickering of the screen, although the display speed makes it unlikely in
            // the practice.
            mInputLogic.mConnection.setComposingText(textWithUnderline, 1);
        }
    public void setSuggestedWords(final SuggestedWords suggestedWords, final boolean shouldShow) {
        mInputLogic.setSuggestedWords(suggestedWords);
        if (mSuggestionStripView != null) {
            mSuggestionStripView.setSuggestions(
                    words, SubtypeLocaleUtils.isRtlLanguage(mSubtypeSwitcher.getCurrentSubtype()));
            mKeyboardSwitcher.onAutoCorrectionStateChanged(words.mWillAutoCorrect);
            mSuggestionStripView.setSuggestions(suggestedWords,
                    SubtypeLocaleUtils.isRtlLanguage(mSubtypeSwitcher.getCurrentSubtype()));
            mKeyboardSwitcher.onAutoCorrectionStateChanged(suggestedWords.mWillAutoCorrect);
            setSuggestionStripShownInternal(shouldShow, true /* needsInputViewShown */);
        }
    }
+19 −0
Original line number Diff line number Diff line
@@ -478,6 +478,25 @@ public final class InputLogic {
                SuggestedWords.EMPTY, true /* dismissGestureFloatingPreviewText */);
    }

    // TODO: on the long term, this method should become private, but it will be difficult.
    // Especially, how do we deal with InputMethodService.onDisplayCompletions?
    public void setSuggestedWords(final SuggestedWords suggestedWords) {
        mSuggestedWords = suggestedWords;
        final boolean newAutoCorrectionIndicator = suggestedWords.mWillAutoCorrect;
        // Put a blue underline to a word in TextView which will be auto-corrected.
        if (mIsAutoCorrectionIndicatorOn != newAutoCorrectionIndicator
                && mWordComposer.isComposingWord()) {
            mIsAutoCorrectionIndicatorOn = newAutoCorrectionIndicator;
            final CharSequence textWithUnderline =
                    getTextWithUnderline(mWordComposer.getTypedWord());
            // TODO: when called from an updateSuggestionStrip() call that results from a posted
            // message, this is called outside any batch edit. Potentially, this may result in some
            // janky flickering of the screen, although the display speed makes it unlikely in
            // the practice.
            mConnection.setComposingText(textWithUnderline, 1);
        }
    }

    /**
     * Handle inputting a code point to the editor.
     *