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

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

Merge "Optimization & Simplification" into jb-mr1-dev

parents c14d55a2 caed149b
Loading
Loading
Loading
Loading
+2 −9
Original line number Diff line number Diff line
@@ -75,17 +75,10 @@ public class AutoCorrection {
        return maxFreq;
    }

    // Returns true if this is a whitelist entry, or it isn't in any dictionary.
    public static boolean isWhitelistedOrNotAWord(
    // Returns true if this isn't in any dictionary.
    public static boolean isNotAWord(
            final ConcurrentHashMap<String, Dictionary> dictionaries,
            final CharSequence word, final boolean ignoreCase) {
        final WhitelistDictionary whitelistDictionary =
                (WhitelistDictionary)dictionaries.get(Dictionary.TYPE_WHITELIST);
        // If "word" is in the whitelist dictionary, it should not be auto corrected.
        if (whitelistDictionary != null
                && whitelistDictionary.shouldForciblyAutoCorrectFrom(word)) {
            return true;
        }
        return !isValidWord(dictionaries, word, ignoreCase);
    }

+10 −8
Original line number Diff line number Diff line
@@ -208,14 +208,6 @@ public class Suggest {
                    wordComposerForLookup, prevWordForBigram, proximityInfo));
        }

        // TODO: Change this scheme - a boolean is not enough. A whitelisted word may be "valid"
        // but still autocorrected from - in the case the whitelist only capitalizes the word.
        // The whitelist should be case-insensitive, so it's not possible to be consistent with
        // a boolean flag. Right now this is handled with a slight hack in
        // WhitelistDictionary#shouldForciblyAutoCorrectFrom.
        final boolean allowsToBeAutoCorrected = AutoCorrection.isWhitelistedOrNotAWord(
                mDictionaries, consideredWord, wordComposer.isFirstCharCapitalized());

        final CharSequence whitelistedWord =
                mWhiteListDictionary.getWhitelistedWord(consideredWord);
        if (whitelistedWord != null) {
@@ -225,6 +217,16 @@ public class Suggest {
                    Dictionary.TYPE_WHITELIST));
        }

        // TODO: Change this scheme - a boolean is not enough. A whitelisted word may be "valid"
        // but still autocorrected from - in the case the whitelist only capitalizes the word.
        // The whitelist should be case-insensitive, so it's not possible to be consistent with
        // a boolean flag. Right now this is handled with a slight hack in
        // WhitelistDictionary#shouldForciblyAutoCorrectFrom.
        final boolean allowsToBeAutoCorrected = (null != whitelistedWord
                && !whitelistedWord.equals(consideredWord))
                || AutoCorrection.isNotAWord(mDictionaries, consideredWord,
                        wordComposer.isFirstCharCapitalized());

        final boolean hasAutoCorrection;
        // TODO: using isCorrectionEnabled here is not very good. It's probably useless, because
        // any attempt to do auto-correction is already shielded with a test for this flag; at the