diff options
author | 2013-07-01 00:18:25 -0700 | |
---|---|---|
committer | 2013-07-01 00:18:25 -0700 | |
commit | d749af1664d19b72d36201fe2e7bc9b87d00aefd (patch) | |
tree | 6fd27b133fa561007d976da3130fbe11400e7881 /java | |
parent | 0ae2498bbb9cdf7b28bad086646fce409946bd47 (diff) | |
parent | 109ba3ace3815a7650a9fb0485b187968ddf8c29 (diff) | |
download | latinime-d749af1664d19b72d36201fe2e7bc9b87d00aefd.tar.gz latinime-d749af1664d19b72d36201fe2e7bc9b87d00aefd.tar.xz latinime-d749af1664d19b72d36201fe2e7bc9b87d00aefd.zip |
am 109ba3ac: Merge "Regenerate old version dictionaries using new format."
* commit '109ba3ace3815a7650a9fb0485b187968ddf8c29':
Regenerate old version dictionaries using new format.
Diffstat (limited to 'java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java | 10 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java | 9 |
2 files changed, 11 insertions, 8 deletions
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java index 51dc85295..31a892e19 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java @@ -224,14 +224,10 @@ final public class BinaryDictionaryGetter { } } - // ## HACK ## we prevent usage of a dictionary before version 18 for English only. The reason - // for this is, since those do not include whitelist entries, the new code with an old version - // of the dictionary would lose whitelist functionality. + // ## HACK ## we prevent usage of a dictionary before version 18. The reason for this is, since + // those do not include whitelist entries, the new code with an old version of the dictionary + // would lose whitelist functionality. private static boolean hackCanUseDictionaryFile(final Locale locale, final File f) { - // Only for English - other languages didn't have a whitelist, hence this - // ad-hoc ## HACK ## - if (!Locale.ENGLISH.getLanguage().equals(locale.getLanguage())) return true; - FileInputStream inStream = null; try { // Read the version of the file diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java index 9cdb86c2d..a19363d54 100644 --- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java @@ -92,7 +92,8 @@ abstract public class ExpandableBinaryDictionary extends Dictionary { /** Controls access to the local binary dictionary for this instance. */ private final DictionaryController mLocalDictionaryController = new DictionaryController(); - private static final int BINARY_DICT_VERSION = 1; + // TODO: Regenerate version 3 binary dictionary. + private static final int BINARY_DICT_VERSION = 2; private static final FormatSpec.FormatOptions FORMAT_OPTIONS = new FormatSpec.FormatOptions(BINARY_DICT_VERSION); @@ -415,6 +416,12 @@ abstract public class ExpandableBinaryDictionary extends Dictionary { // shared dictionary. loadBinaryDictionary(); } + if (mBinaryDictionary != null && !mBinaryDictionary.isValidDictionary()) { + // Binary dictionary is not valid. Regenerate the dictionary file. + mSharedDictionaryController.mLastUpdateTime = time; + generateBinaryDictionary(); + loadBinaryDictionary(); + } mLocalDictionaryController.mLastUpdateTime = time; } finally { mSharedDictionaryController.unlock(); |