diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java index 4ca17b5b4..b6fbf8bed 100644 --- a/java/src/com/android/inputmethod/latin/Suggest.java +++ b/java/src/com/android/inputmethod/latin/Suggest.java @@ -302,12 +302,18 @@ public class Suggest { // Don't auto-correct words with multiple capital letter autoCorrectionAvailable &= !wordComposer.isMostlyCaps(); autoCorrectionAvailable &= !wordComposer.isResumed(); + // TODO: this safety net check should be done right after we decide that the suggestion + // exceeds the auto-correction threshold. However as long as the |= !allowsToBeAutoCorrected + // line is there it can't be done safely in a logical manner. if (allowsToBeAutoCorrected && suggestionsList.size() > 1 && mAutoCorrectionThreshold > 0 && Suggest.shouldBlockAutoCorrectionBySafetyNet(typedWord, suggestionsList.get(1).mWord)) { autoCorrectionAvailable = false; } return new SuggestedWords(suggestionsList, + // 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. !isPrediction && !allowsToBeAutoCorrected /* typedWordValid */, !isPrediction && autoCorrectionAvailable /* hasAutoCorrectionCandidate */, !isPrediction && allowsToBeAutoCorrected /* allowsToBeAutoCorrected */,