Loading java/src/com/android/inputmethod/latin/AutoCorrection.java +12 −10 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ import android.text.TextUtils; import android.util.Log; import java.util.ArrayList; import java.util.HashMap; import java.util.concurrent.ConcurrentHashMap; public class AutoCorrection { private static final boolean DBG = LatinImeLogger.sDBG; Loading @@ -33,10 +33,10 @@ public class AutoCorrection { } public static CharSequence computeAutoCorrectionWord( HashMap<String, Dictionary> dictionaries, WordComposer wordComposer, ArrayList<SuggestedWordInfo> suggestions, CharSequence consideredWord, float autoCorrectionThreshold, CharSequence whitelistedWord) { final ConcurrentHashMap<String, Dictionary> dictionaries, final WordComposer wordComposer, final ArrayList<SuggestedWordInfo> suggestions, final CharSequence consideredWord, final float autoCorrectionThreshold, final CharSequence whitelistedWord) { if (hasAutoCorrectionForWhitelistedWord(whitelistedWord)) { return whitelistedWord; } else if (hasAutoCorrectionForConsideredWord( Loading @@ -49,8 +49,8 @@ public class AutoCorrection { return null; } public static boolean isValidWord( HashMap<String, Dictionary> dictionaries, CharSequence word, boolean ignoreCase) { public static boolean isValidWord(final ConcurrentHashMap<String, Dictionary> dictionaries, CharSequence word, boolean ignoreCase) { if (TextUtils.isEmpty(word)) { return false; } Loading @@ -75,7 +75,8 @@ public class AutoCorrection { } public static boolean allowsToBeAutoCorrected( HashMap<String, Dictionary> dictionaries, CharSequence word, boolean ignoreCase) { final ConcurrentHashMap<String, Dictionary> dictionaries, final CharSequence word, final boolean ignoreCase) { final WhitelistDictionary whitelistDictionary = (WhitelistDictionary)dictionaries.get(Suggest.DICT_KEY_WHITELIST); // If "word" is in the whitelist dictionary, it should not be auto corrected. Loading @@ -91,8 +92,9 @@ public class AutoCorrection { } private static boolean hasAutoCorrectionForConsideredWord( HashMap<String, Dictionary> dictionaries, WordComposer wordComposer, ArrayList<SuggestedWordInfo> suggestions, CharSequence consideredWord) { final ConcurrentHashMap<String, Dictionary> dictionaries, final WordComposer wordComposer, final ArrayList<SuggestedWordInfo> suggestions, final CharSequence consideredWord) { if (TextUtils.isEmpty(consideredWord)) return false; return wordComposer.size() > 1 && suggestions.size() > 0 && !allowsToBeAutoCorrected(dictionaries, consideredWord, false); Loading java/src/com/android/inputmethod/latin/Suggest.java +9 −8 Original line number Diff line number Diff line Loading @@ -26,9 +26,9 @@ import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Locale; import java.util.concurrent.ConcurrentHashMap; /** * This class loads a dictionary and provides a list of suggestions for a given sequence of Loading Loading @@ -68,10 +68,10 @@ public class Suggest implements Dictionary.WordCallback { private boolean mHasMainDictionary; private Dictionary mContactsDict; private WhitelistDictionary mWhiteListDictionary; private final HashMap<String, Dictionary> mUnigramDictionaries = new HashMap<String, Dictionary>(); private final HashMap<String, Dictionary> mBigramDictionaries = new HashMap<String, Dictionary>(); private final ConcurrentHashMap<String, Dictionary> mUnigramDictionaries = new ConcurrentHashMap<String, Dictionary>(); private final ConcurrentHashMap<String, Dictionary> mBigramDictionaries = new ConcurrentHashMap<String, Dictionary>(); private int mPrefMaxSuggestions = 18; Loading Loading @@ -117,8 +117,9 @@ public class Suggest implements Dictionary.WordCallback { initWhitelistAndAutocorrectAndPool(context, locale); } private static void addOrReplaceDictionary(HashMap<String, Dictionary> dictionaries, String key, Dictionary dict) { private static void addOrReplaceDictionary( final ConcurrentHashMap<String, Dictionary> dictionaries, final String key, final Dictionary dict) { final Dictionary oldDict = (dict == null) ? dictionaries.remove(key) : dictionaries.put(key, dict); Loading Loading @@ -151,7 +152,7 @@ public class Suggest implements Dictionary.WordCallback { return mContactsDict; } public HashMap<String, Dictionary> getUnigramDictionaries() { public ConcurrentHashMap<String, Dictionary> getUnigramDictionaries() { return mUnigramDictionaries; } Loading Loading
java/src/com/android/inputmethod/latin/AutoCorrection.java +12 −10 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ import android.text.TextUtils; import android.util.Log; import java.util.ArrayList; import java.util.HashMap; import java.util.concurrent.ConcurrentHashMap; public class AutoCorrection { private static final boolean DBG = LatinImeLogger.sDBG; Loading @@ -33,10 +33,10 @@ public class AutoCorrection { } public static CharSequence computeAutoCorrectionWord( HashMap<String, Dictionary> dictionaries, WordComposer wordComposer, ArrayList<SuggestedWordInfo> suggestions, CharSequence consideredWord, float autoCorrectionThreshold, CharSequence whitelistedWord) { final ConcurrentHashMap<String, Dictionary> dictionaries, final WordComposer wordComposer, final ArrayList<SuggestedWordInfo> suggestions, final CharSequence consideredWord, final float autoCorrectionThreshold, final CharSequence whitelistedWord) { if (hasAutoCorrectionForWhitelistedWord(whitelistedWord)) { return whitelistedWord; } else if (hasAutoCorrectionForConsideredWord( Loading @@ -49,8 +49,8 @@ public class AutoCorrection { return null; } public static boolean isValidWord( HashMap<String, Dictionary> dictionaries, CharSequence word, boolean ignoreCase) { public static boolean isValidWord(final ConcurrentHashMap<String, Dictionary> dictionaries, CharSequence word, boolean ignoreCase) { if (TextUtils.isEmpty(word)) { return false; } Loading @@ -75,7 +75,8 @@ public class AutoCorrection { } public static boolean allowsToBeAutoCorrected( HashMap<String, Dictionary> dictionaries, CharSequence word, boolean ignoreCase) { final ConcurrentHashMap<String, Dictionary> dictionaries, final CharSequence word, final boolean ignoreCase) { final WhitelistDictionary whitelistDictionary = (WhitelistDictionary)dictionaries.get(Suggest.DICT_KEY_WHITELIST); // If "word" is in the whitelist dictionary, it should not be auto corrected. Loading @@ -91,8 +92,9 @@ public class AutoCorrection { } private static boolean hasAutoCorrectionForConsideredWord( HashMap<String, Dictionary> dictionaries, WordComposer wordComposer, ArrayList<SuggestedWordInfo> suggestions, CharSequence consideredWord) { final ConcurrentHashMap<String, Dictionary> dictionaries, final WordComposer wordComposer, final ArrayList<SuggestedWordInfo> suggestions, final CharSequence consideredWord) { if (TextUtils.isEmpty(consideredWord)) return false; return wordComposer.size() > 1 && suggestions.size() > 0 && !allowsToBeAutoCorrected(dictionaries, consideredWord, false); Loading
java/src/com/android/inputmethod/latin/Suggest.java +9 −8 Original line number Diff line number Diff line Loading @@ -26,9 +26,9 @@ import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Locale; import java.util.concurrent.ConcurrentHashMap; /** * This class loads a dictionary and provides a list of suggestions for a given sequence of Loading Loading @@ -68,10 +68,10 @@ public class Suggest implements Dictionary.WordCallback { private boolean mHasMainDictionary; private Dictionary mContactsDict; private WhitelistDictionary mWhiteListDictionary; private final HashMap<String, Dictionary> mUnigramDictionaries = new HashMap<String, Dictionary>(); private final HashMap<String, Dictionary> mBigramDictionaries = new HashMap<String, Dictionary>(); private final ConcurrentHashMap<String, Dictionary> mUnigramDictionaries = new ConcurrentHashMap<String, Dictionary>(); private final ConcurrentHashMap<String, Dictionary> mBigramDictionaries = new ConcurrentHashMap<String, Dictionary>(); private int mPrefMaxSuggestions = 18; Loading Loading @@ -117,8 +117,9 @@ public class Suggest implements Dictionary.WordCallback { initWhitelistAndAutocorrectAndPool(context, locale); } private static void addOrReplaceDictionary(HashMap<String, Dictionary> dictionaries, String key, Dictionary dict) { private static void addOrReplaceDictionary( final ConcurrentHashMap<String, Dictionary> dictionaries, final String key, final Dictionary dict) { final Dictionary oldDict = (dict == null) ? dictionaries.remove(key) : dictionaries.put(key, dict); Loading Loading @@ -151,7 +152,7 @@ public class Suggest implements Dictionary.WordCallback { return mContactsDict; } public HashMap<String, Dictionary> getUnigramDictionaries() { public ConcurrentHashMap<String, Dictionary> getUnigramDictionaries() { return mUnigramDictionaries; } Loading