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

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

[IL114] Move a method to InputLogic

Bug: 8636060
Change-Id: I0d8f93985ddc6e93ce9af0d92a8056620351a498
parent 5d8f6660
Loading
Loading
Loading
Loading
+0 −22
Original line number Original line Diff line number Diff line
@@ -1443,28 +1443,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
                sequenceNumber, callback);
                sequenceNumber, callback);
    }
    }


    // TODO[IL]: Move this to InputLogic
    public SuggestedWords maybeRetrieveOlderSuggestions(final String typedWord,
            final SuggestedWords suggestedWords, final SuggestedWords previousSuggestedWords) {
        // TODO: consolidate this into getSuggestedWords
        // We update the suggestion strip only when we have some suggestions to show, i.e. when
        // the suggestion count is > 1; else, we leave the old suggestions, with the typed word
        // replaced with the new one. However, when the length of the typed word is 1 or 0 (after
        // a deletion typically), we do want to remove the old suggestions.
        if (suggestedWords.size() > 1 || typedWord.length() <= 1) {
            return suggestedWords;
        } else {
            final SuggestedWords oldSuggestedWords =
                    previousSuggestedWords.isPunctuationSuggestions() ? SuggestedWords.EMPTY
                            : previousSuggestedWords;
            final ArrayList<SuggestedWords.SuggestedWordInfo> typedWordAndPreviousSuggestions =
                    SuggestedWords.getTypedWordAndPreviousSuggestions(typedWord, oldSuggestedWords);
            return new SuggestedWords(typedWordAndPreviousSuggestions, null /* rawSuggestions */,
                    false /* typedWordValid */, false /* hasAutoCorrectionCandidate */,
                    true /* isObsoleteSuggestions */, false /* isPrediction */);
        }
    }

    @Override
    @Override
    public void showSuggestionStrip(final SuggestedWords sourceSuggestedWords) {
    public void showSuggestionStrip(final SuggestedWords sourceSuggestedWords) {
        final SuggestedWords suggestedWords =
        final SuggestedWords suggestedWords =
+31 −3
Original line number Original line Diff line number Diff line
@@ -1229,9 +1229,8 @@ public final class InputLogic {
                    @Override
                    @Override
                    public void onGetSuggestedWords(final SuggestedWords suggestedWords) {
                    public void onGetSuggestedWords(final SuggestedWords suggestedWords) {
                        final SuggestedWords suggestedWordsWithMaybeOlderSuggestions =
                        final SuggestedWords suggestedWordsWithMaybeOlderSuggestions =
                                mLatinIME.maybeRetrieveOlderSuggestions(
                                maybeRetrieveOlderSuggestions(mWordComposer.getTypedWord(),
                                        mWordComposer.getTypedWord(), suggestedWords,
                                        suggestedWords, mSuggestedWords);
                                        mSuggestedWords);
                        holder.set(suggestedWordsWithMaybeOlderSuggestions);
                        holder.set(suggestedWordsWithMaybeOlderSuggestions);
                    }
                    }
                }
                }
@@ -1656,6 +1655,35 @@ public final class InputLogic {
        }
        }
    }
    }


    /**
     * Given a typed word and computed suggested words, return an object that may or may not
     * contain older suggestions according to the contents of the current suggestions.
     * @param typedWord The typed word as a string.
     * @param suggestedWords The computed suggested words for this typed word.
     * @param previousSuggestedWords The previous suggested words.
     * @return suggestions possibly enriched with older suggestions.
     */
    private SuggestedWords maybeRetrieveOlderSuggestions(final String typedWord,
            final SuggestedWords suggestedWords, final SuggestedWords previousSuggestedWords) {
        // TODO: consolidate this into performUpdateSuggestionStripSync?
        // We update the suggestion strip only when we have some suggestions to show, i.e. when
        // the suggestion count is > 1; else, we leave the old suggestions, with the typed word
        // replaced with the new one. However, when the length of the typed word is 1 or 0 (after
        // a deletion typically), we do want to remove the old suggestions.
        if (suggestedWords.size() > 1 || typedWord.length() <= 1) {
            return suggestedWords;
        } else {
            final SuggestedWords oldSuggestedWords =
                    previousSuggestedWords.isPunctuationSuggestions() ? SuggestedWords.EMPTY
                            : previousSuggestedWords;
            final ArrayList<SuggestedWords.SuggestedWordInfo> typedWordAndPreviousSuggestions =
                    SuggestedWords.getTypedWordAndPreviousSuggestions(typedWord, oldSuggestedWords);
            return new SuggestedWords(typedWordAndPreviousSuggestions, null /* rawSuggestions */,
                    false /* typedWordValid */, false /* hasAutoCorrectionCandidate */,
                    true /* isObsoleteSuggestions */, false /* isPrediction */);
        }
    }

    /**
    /**
     * Gets a chunk of text with or the auto-correction indicator underline span as appropriate.
     * Gets a chunk of text with or the auto-correction indicator underline span as appropriate.
     *
     *