diff options
author | 2011-04-26 21:49:09 +0900 | |
---|---|---|
committer | 2011-04-27 17:06:20 +0900 | |
commit | 4250eb27f54f8fedc388fe4825b0646a88778744 (patch) | |
tree | de7b42f5aa401d2a571f60056012c93eeb5552f4 /java/src/com/android/inputmethod/latin/Suggest.java | |
parent | aa9de267322bbf3a644da728253a224acf5a2d38 (diff) | |
download | latinime-4250eb27f54f8fedc388fe4825b0646a88778744.tar.gz latinime-4250eb27f54f8fedc388fe4825b0646a88778744.tar.xz latinime-4250eb27f54f8fedc388fe4825b0646a88778744.zip |
Create a dictionary collection and a dictionary factory.
The dictionary collection is a class complying to the Dictionary
interface that acts as a front end to a collection of arbitrarily many
dictionaries of any type.
The dictionary factory is a helper class for creating various
dictionaries and get some meta information about them.
At the same time, this change makes the BinaryDictionary class
not a singleton any more.
This also needs I9afe61a9 to not break the build.
Change-Id: I61fdcc4867fcda18342807bf1865e6e46979e5d5
Diffstat (limited to 'java/src/com/android/inputmethod/latin/Suggest.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/Suggest.java | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java index 1f6146a6d..ca75866c0 100644 --- a/java/src/com/android/inputmethod/latin/Suggest.java +++ b/java/src/com/android/inputmethod/latin/Suggest.java @@ -75,13 +75,11 @@ public class Suggest implements Dictionary.WordCallback { public static final String DICT_KEY_USER_BIGRAM = "user_bigram"; public static final String DICT_KEY_WHITELIST ="whitelist"; - public static final int LARGE_DICTIONARY_THRESHOLD = 200 * 1000; - private static final boolean DBG = LatinImeLogger.sDBG; private AutoCorrection mAutoCorrection; - private BinaryDictionary mMainDict; + private Dictionary mMainDict; private WhitelistDictionary mWhiteListDictionary; private final Map<String, Dictionary> mUnigramDictionaries = new HashMap<String, Dictionary>(); private final Map<String, Dictionary> mBigramDictionaries = new HashMap<String, Dictionary>(); @@ -108,17 +106,17 @@ public class Suggest implements Dictionary.WordCallback { private int mCorrectionMode = CORRECTION_BASIC; public Suggest(Context context, int dictionaryResId, Locale locale) { - init(context, BinaryDictionary.initDictionaryFromManager(context, DIC_MAIN, locale, + init(context, DictionaryFactory.createDictionaryFromManager(context, locale, dictionaryResId)); } /* package for test */ Suggest(Context context, File dictionary, long startOffset, long length, Flag[] flagArray) { - init(null, BinaryDictionary.initDictionary(context, dictionary, startOffset, length, - DIC_MAIN, flagArray)); + init(null, DictionaryFactory.createDictionaryForTest(context, dictionary, startOffset, + length, flagArray)); } - private void init(Context context, BinaryDictionary mainDict) { + private void init(Context context, Dictionary mainDict) { if (mainDict != null) { mMainDict = mainDict; mUnigramDictionaries.put(DICT_KEY_MAIN, mainDict); @@ -133,8 +131,8 @@ public class Suggest implements Dictionary.WordCallback { } public void resetMainDict(Context context, int dictionaryResId, Locale locale) { - final BinaryDictionary newMainDict = BinaryDictionary.initDictionaryFromManager(context, - DIC_MAIN, locale, dictionaryResId); + final Dictionary newMainDict = DictionaryFactory.createDictionaryFromManager( + context, locale, dictionaryResId); mMainDict = newMainDict; if (null == newMainDict) { mUnigramDictionaries.remove(DICT_KEY_MAIN); @@ -165,7 +163,7 @@ public class Suggest implements Dictionary.WordCallback { } public boolean hasMainDictionary() { - return mMainDict != null && mMainDict.getSize() > LARGE_DICTIONARY_THRESHOLD; + return mMainDict != null; } public Map<String, Dictionary> getUnigramDictionaries() { |