Loading java/src/com/android/inputmethod/latin/BinaryDictionary.java +2 −5 Original line number Diff line number Diff line Loading @@ -83,7 +83,6 @@ public final class BinaryDictionary extends Dictionary { public static final String DIR_NAME_SUFFIX_FOR_RECORD_MIGRATION = ".migrating"; private long mNativeDict; private final Locale mLocale; private final long mDictSize; private final String mDictFilePath; private final boolean mUseFullEditDistance; Loading Loading @@ -117,8 +116,7 @@ public final class BinaryDictionary extends Dictionary { public BinaryDictionary(final String filename, final long offset, final long length, final boolean useFullEditDistance, final Locale locale, final String dictType, final boolean isUpdatable) { super(dictType); mLocale = locale; super(dictType, locale); mDictSize = length; mDictFilePath = filename; mIsUpdatable = isUpdatable; Loading @@ -138,8 +136,7 @@ public final class BinaryDictionary extends Dictionary { public BinaryDictionary(final String filename, final boolean useFullEditDistance, final Locale locale, final String dictType, final long formatVersion, final Map<String, String> attributeMap) { super(dictType); mLocale = locale; super(dictType, locale); mDictSize = 0; mDictFilePath = filename; // On memory dictionary is always updatable. Loading java/src/com/android/inputmethod/latin/Dictionary.java +6 −3 Original line number Diff line number Diff line Loading @@ -16,12 +16,12 @@ package com.android.inputmethod.latin; import com.android.inputmethod.annotations.UsedForTesting; import com.android.inputmethod.keyboard.ProximityInfo; import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; import com.android.inputmethod.latin.settings.SettingsValuesForSuggestion; import java.util.ArrayList; import java.util.Locale; /** * Abstract base class for a dictionary that can do a fuzzy search for words based on a set of key Loading Loading @@ -62,9 +62,12 @@ public abstract class Dictionary { // Contextual dictionary. public static final String TYPE_CONTEXTUAL = "contextual"; public final String mDictType; // The locale for this dictionary. May be null if unknown (phony dictionary for example). public final Locale mLocale; public Dictionary(final String dictType) { public Dictionary(final String dictType, final Locale locale) { mDictType = dictType; mLocale = locale; } /** Loading Loading @@ -162,7 +165,7 @@ public abstract class Dictionary { private static class PhonyDictionary extends Dictionary { // This class is not publicly instantiable. private PhonyDictionary(final String type) { super(type); super(type, null); } @Override Loading java/src/com/android/inputmethod/latin/DictionaryCollection.java +9 −6 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import com.android.inputmethod.latin.settings.SettingsValuesForSuggestion; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Locale; import java.util.concurrent.CopyOnWriteArrayList; /** Loading @@ -34,13 +35,14 @@ public final class DictionaryCollection extends Dictionary { private final String TAG = DictionaryCollection.class.getSimpleName(); protected final CopyOnWriteArrayList<Dictionary> mDictionaries; public DictionaryCollection(final String dictType) { super(dictType); public DictionaryCollection(final String dictType, final Locale locale) { super(dictType, locale); mDictionaries = new CopyOnWriteArrayList<>(); } public DictionaryCollection(final String dictType, final Dictionary... dictionaries) { super(dictType); public DictionaryCollection(final String dictType, final Locale locale, final Dictionary... dictionaries) { super(dictType, locale); if (null == dictionaries) { mDictionaries = new CopyOnWriteArrayList<>(); } else { Loading @@ -49,8 +51,9 @@ public final class DictionaryCollection extends Dictionary { } } public DictionaryCollection(final String dictType, final Collection<Dictionary> dictionaries) { super(dictType); public DictionaryCollection(final String dictType, final Locale locale, final Collection<Dictionary> dictionaries) { super(dictType, locale); mDictionaries = new CopyOnWriteArrayList<>(dictionaries); mDictionaries.removeAll(Collections.singleton(null)); } Loading java/src/com/android/inputmethod/latin/DictionaryFacilitator.java +1 −1 Original line number Diff line number Diff line Loading @@ -503,7 +503,7 @@ public class DictionaryFacilitator { final SettingsValuesForSuggestion settingsValuesForSuggestion, final int sessionId) { final Dictionaries dictionaries = mDictionaries; final SuggestionResults suggestionResults = new SuggestionResults(dictionaries.mLocale, SuggestedWords.MAX_SUGGESTIONS); new SuggestionResults(SuggestedWords.MAX_SUGGESTIONS); final float[] languageWeight = new float[] { Dictionary.NOT_A_LANGUAGE_WEIGHT }; for (final String dictType : DICT_TYPES_ORDERED_TO_GET_SUGGESTIONS) { final Dictionary dictionary = dictionaries.getDict(dictType); Loading java/src/com/android/inputmethod/latin/DictionaryFactory.java +3 −3 Original line number Diff line number Diff line Loading @@ -50,7 +50,7 @@ public final class DictionaryFactory { final Locale locale, final boolean useFullEditDistance) { if (null == locale) { Log.e(TAG, "No locale defined for dictionary"); return new DictionaryCollection(Dictionary.TYPE_MAIN, return new DictionaryCollection(Dictionary.TYPE_MAIN, locale, createReadOnlyBinaryDictionary(context, locale)); } Loading @@ -75,7 +75,7 @@ public final class DictionaryFactory { // If the list is empty, that means we should not use any dictionary (for example, the user // explicitly disabled the main dictionary), so the following is okay. dictList is never // null, but if for some reason it is, DictionaryCollection handles it gracefully. return new DictionaryCollection(Dictionary.TYPE_MAIN, dictList); return new DictionaryCollection(Dictionary.TYPE_MAIN, locale, dictList); } /** Loading Loading @@ -188,7 +188,7 @@ public final class DictionaryFactory { public static Dictionary createDictionaryForTest(final AssetFileAddress[] dictionaryList, final boolean useFullEditDistance, Locale locale) { final DictionaryCollection dictionaryCollection = new DictionaryCollection(Dictionary.TYPE_MAIN); new DictionaryCollection(Dictionary.TYPE_MAIN, locale); for (final AssetFileAddress address : dictionaryList) { final ReadOnlyBinaryDictionary readOnlyBinaryDictionary = new ReadOnlyBinaryDictionary( address.mFilename, address.mOffset, address.mLength, useFullEditDistance, Loading Loading
java/src/com/android/inputmethod/latin/BinaryDictionary.java +2 −5 Original line number Diff line number Diff line Loading @@ -83,7 +83,6 @@ public final class BinaryDictionary extends Dictionary { public static final String DIR_NAME_SUFFIX_FOR_RECORD_MIGRATION = ".migrating"; private long mNativeDict; private final Locale mLocale; private final long mDictSize; private final String mDictFilePath; private final boolean mUseFullEditDistance; Loading Loading @@ -117,8 +116,7 @@ public final class BinaryDictionary extends Dictionary { public BinaryDictionary(final String filename, final long offset, final long length, final boolean useFullEditDistance, final Locale locale, final String dictType, final boolean isUpdatable) { super(dictType); mLocale = locale; super(dictType, locale); mDictSize = length; mDictFilePath = filename; mIsUpdatable = isUpdatable; Loading @@ -138,8 +136,7 @@ public final class BinaryDictionary extends Dictionary { public BinaryDictionary(final String filename, final boolean useFullEditDistance, final Locale locale, final String dictType, final long formatVersion, final Map<String, String> attributeMap) { super(dictType); mLocale = locale; super(dictType, locale); mDictSize = 0; mDictFilePath = filename; // On memory dictionary is always updatable. Loading
java/src/com/android/inputmethod/latin/Dictionary.java +6 −3 Original line number Diff line number Diff line Loading @@ -16,12 +16,12 @@ package com.android.inputmethod.latin; import com.android.inputmethod.annotations.UsedForTesting; import com.android.inputmethod.keyboard.ProximityInfo; import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; import com.android.inputmethod.latin.settings.SettingsValuesForSuggestion; import java.util.ArrayList; import java.util.Locale; /** * Abstract base class for a dictionary that can do a fuzzy search for words based on a set of key Loading Loading @@ -62,9 +62,12 @@ public abstract class Dictionary { // Contextual dictionary. public static final String TYPE_CONTEXTUAL = "contextual"; public final String mDictType; // The locale for this dictionary. May be null if unknown (phony dictionary for example). public final Locale mLocale; public Dictionary(final String dictType) { public Dictionary(final String dictType, final Locale locale) { mDictType = dictType; mLocale = locale; } /** Loading Loading @@ -162,7 +165,7 @@ public abstract class Dictionary { private static class PhonyDictionary extends Dictionary { // This class is not publicly instantiable. private PhonyDictionary(final String type) { super(type); super(type, null); } @Override Loading
java/src/com/android/inputmethod/latin/DictionaryCollection.java +9 −6 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import com.android.inputmethod.latin.settings.SettingsValuesForSuggestion; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Locale; import java.util.concurrent.CopyOnWriteArrayList; /** Loading @@ -34,13 +35,14 @@ public final class DictionaryCollection extends Dictionary { private final String TAG = DictionaryCollection.class.getSimpleName(); protected final CopyOnWriteArrayList<Dictionary> mDictionaries; public DictionaryCollection(final String dictType) { super(dictType); public DictionaryCollection(final String dictType, final Locale locale) { super(dictType, locale); mDictionaries = new CopyOnWriteArrayList<>(); } public DictionaryCollection(final String dictType, final Dictionary... dictionaries) { super(dictType); public DictionaryCollection(final String dictType, final Locale locale, final Dictionary... dictionaries) { super(dictType, locale); if (null == dictionaries) { mDictionaries = new CopyOnWriteArrayList<>(); } else { Loading @@ -49,8 +51,9 @@ public final class DictionaryCollection extends Dictionary { } } public DictionaryCollection(final String dictType, final Collection<Dictionary> dictionaries) { super(dictType); public DictionaryCollection(final String dictType, final Locale locale, final Collection<Dictionary> dictionaries) { super(dictType, locale); mDictionaries = new CopyOnWriteArrayList<>(dictionaries); mDictionaries.removeAll(Collections.singleton(null)); } Loading
java/src/com/android/inputmethod/latin/DictionaryFacilitator.java +1 −1 Original line number Diff line number Diff line Loading @@ -503,7 +503,7 @@ public class DictionaryFacilitator { final SettingsValuesForSuggestion settingsValuesForSuggestion, final int sessionId) { final Dictionaries dictionaries = mDictionaries; final SuggestionResults suggestionResults = new SuggestionResults(dictionaries.mLocale, SuggestedWords.MAX_SUGGESTIONS); new SuggestionResults(SuggestedWords.MAX_SUGGESTIONS); final float[] languageWeight = new float[] { Dictionary.NOT_A_LANGUAGE_WEIGHT }; for (final String dictType : DICT_TYPES_ORDERED_TO_GET_SUGGESTIONS) { final Dictionary dictionary = dictionaries.getDict(dictType); Loading
java/src/com/android/inputmethod/latin/DictionaryFactory.java +3 −3 Original line number Diff line number Diff line Loading @@ -50,7 +50,7 @@ public final class DictionaryFactory { final Locale locale, final boolean useFullEditDistance) { if (null == locale) { Log.e(TAG, "No locale defined for dictionary"); return new DictionaryCollection(Dictionary.TYPE_MAIN, return new DictionaryCollection(Dictionary.TYPE_MAIN, locale, createReadOnlyBinaryDictionary(context, locale)); } Loading @@ -75,7 +75,7 @@ public final class DictionaryFactory { // If the list is empty, that means we should not use any dictionary (for example, the user // explicitly disabled the main dictionary), so the following is okay. dictList is never // null, but if for some reason it is, DictionaryCollection handles it gracefully. return new DictionaryCollection(Dictionary.TYPE_MAIN, dictList); return new DictionaryCollection(Dictionary.TYPE_MAIN, locale, dictList); } /** Loading Loading @@ -188,7 +188,7 @@ public final class DictionaryFactory { public static Dictionary createDictionaryForTest(final AssetFileAddress[] dictionaryList, final boolean useFullEditDistance, Locale locale) { final DictionaryCollection dictionaryCollection = new DictionaryCollection(Dictionary.TYPE_MAIN); new DictionaryCollection(Dictionary.TYPE_MAIN, locale); for (final AssetFileAddress address : dictionaryList) { final ReadOnlyBinaryDictionary readOnlyBinaryDictionary = new ReadOnlyBinaryDictionary( address.mFilename, address.mOffset, address.mLength, useFullEditDistance, Loading