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

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

Merge "Add a wrapper to updateSuggestions / Predictions (A48)"

parents 7aeb7ef1 e47c728d
Loading
Loading
Loading
Loading
+15 −7
Original line number Diff line number Diff line
@@ -208,13 +208,13 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
            final KeyboardSwitcher switcher = latinIme.mKeyboardSwitcher;
            switch (msg.what) {
            case MSG_UPDATE_SUGGESTIONS:
                latinIme.updateSuggestions();
                latinIme.updateSuggestionsOrPredictions(false /* isPredictions */);
                break;
            case MSG_UPDATE_SHIFT_STATE:
                switcher.updateShiftState();
                break;
            case MSG_SET_BIGRAM_PREDICTIONS:
                latinIme.updateBigramPredictions();
                latinIme.updateSuggestionsOrPredictions(true /* isPredictions */);
                break;
            }
        }
@@ -1003,7 +1003,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
    // the composing word, reset the last composed word, tell the inputconnection about it.
    private void resetEntireInputState() {
        resetComposingState(true /* alsoResetLastComposedWord */);
        updateSuggestions();
        updateSuggestionsOrPredictions(false /* isPredictions */);
        mConnection.finishComposingText();
    }

@@ -1026,7 +1026,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
                    LastComposedWord.COMMIT_TYPE_USER_TYPED_WORD, typedWord.toString(),
                    separatorCode, prevWord);
        }
        updateSuggestions();
        updateSuggestionsOrPredictions(false /* isPredictions */);
    }

    public int getCurrentAutoCapsState() {
@@ -1694,7 +1694,15 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
        }
    }

    public void updateSuggestions() {
    public void updateSuggestionsOrPredictions(final boolean isPredictions) {
        if (isPredictions) {
            updateBigramPredictions();
        } else {
            updateSuggestions();
        }
    }

    private void updateSuggestions() {
        mHandler.cancelUpdateSuggestions();
        mHandler.cancelUpdateBigramPredictions();

@@ -1775,7 +1783,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
        // Complete any pending suggestions query first
        if (mHandler.hasPendingUpdateSuggestions()) {
            mHandler.cancelUpdateSuggestions();
            updateSuggestions();
            updateSuggestionsOrPredictions(false /* isPredictions */);
        }
        final CharSequence autoCorrection = mWordComposer.getAutoCorrectionOrNull();
        if (autoCorrection != null) {
@@ -1885,7 +1893,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
        if (!showingAddToDictionaryHint) {
            // If we're not showing the "Touch again to save", then show corrections again.
            // In case the cursor position doesn't change, make sure we show the suggestions again.
            updateBigramPredictions();
            updateSuggestionsOrPredictions(true /* isPredictions */);
            // Updating the predictions right away may be slow and feel unresponsive on slower
            // terminals. On the other hand if we just postUpdateBigramPredictions() it will
            // take a noticeable delay to update them which may feel uneasy.