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

Commit 0c34ee20 authored by Jean Chalard's avatar Jean Chalard
Browse files

[QRP5] Fix boldness for predictions, and small refactoring

This is more correct. When predictions, the typed word should
always be null unless explicitly passed. The text color should be
that of a valid typed word only if it's actually the typed word.

Bug: 13170509
Change-Id: I769ae100e112c37c6f02064fe9ef2f81372ca9e5
parent 783f1932
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -227,7 +227,7 @@ public final class Suggest {
                // TODO: this first argument is lying. If this is a whitelisted word which is an
                // actual word, it says typedWordValid = false, which looks wrong. We should either
                // rename the attribute or change the value.
                !allowsToBeAutoCorrected /* typedWordValid */,
                !isPrediction && !allowsToBeAutoCorrected /* typedWordValid */,
                hasAutoCorrection, /* willAutoCorrect */
                false /* isObsoleteSuggestions */, isPrediction, sequenceNumber));
    }
+1 −1
Original line number Diff line number Diff line
@@ -69,7 +69,7 @@ public class SuggestedWords {
            final boolean isPrediction,
            final int sequenceNumber) {
        this(suggestedWordInfoList, rawSuggestions,
                suggestedWordInfoList.isEmpty() ? null
                (suggestedWordInfoList.isEmpty() || isPrediction) ? null
                        : suggestedWordInfoList.get(INDEX_OF_TYPED_WORD).mWord,
                typedWordValid, willAutoCorrect, isObsoleteSuggestions, isPrediction,
                sequenceNumber);
+4 −3
Original line number Diff line number Diff line
@@ -248,13 +248,14 @@ final class SuggestionStripLayoutHelper {
            final int indexInSuggestedWords) {
        final int positionInStrip =
                getPositionInSuggestionStrip(indexInSuggestedWords, suggestedWords);
        final boolean isTypedWord = !suggestedWords.mIsPrediction
                && (indexInSuggestedWords == SuggestedWords.INDEX_OF_TYPED_WORD);
        // Use identity for strings, not #equals : it's the typed word if it's the same object
        final boolean isTypedWord =
                suggestedWords.getWord(indexInSuggestedWords) == suggestedWords.mTypedWord;

        final int color;
        if (positionInStrip == mCenterPositionInStrip && suggestedWords.mWillAutoCorrect) {
            color = mColorAutoCorrect;
        } else if (positionInStrip == mCenterPositionInStrip && suggestedWords.mTypedWordValid) {
        } else if (isTypedWord && suggestedWords.mTypedWordValid) {
            color = mColorValidTypedWord;
        } else if (isTypedWord) {
            color = mColorTypedWord;