diff options
author | 2013-02-22 20:49:48 -0800 | |
---|---|---|
committer | 2013-02-22 20:49:48 -0800 | |
commit | 2521edec09373b2810093462c89221a2aca9e369 (patch) | |
tree | 4aa902e278342f98e455a11ff25f18f1660beb6f /java/src/com/android/inputmethod/latin/DictionaryInfoUtils.java | |
parent | 8f794c72db07786c866e357c7853c339882b45ef (diff) | |
download | latinime-2521edec09373b2810093462c89221a2aca9e369.tar.gz latinime-2521edec09373b2810093462c89221a2aca9e369.tar.xz latinime-2521edec09373b2810093462c89221a2aca9e369.zip |
Fix a bug with the passed dictionary id
We used to make the dictionary that we passed to the
dictionary pack as an initial value based on the locale.
This is wrong - it should be read from the dictionary.
This change fixes that.
Bug: 7005813
Change-Id: Ib08ed31dd9c216f6f7b9c6c3174ca514bf96e06f
Diffstat (limited to 'java/src/com/android/inputmethod/latin/DictionaryInfoUtils.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/DictionaryInfoUtils.java | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/java/src/com/android/inputmethod/latin/DictionaryInfoUtils.java b/java/src/com/android/inputmethod/latin/DictionaryInfoUtils.java index d2a946bf5..28234659d 100644 --- a/java/src/com/android/inputmethod/latin/DictionaryInfoUtils.java +++ b/java/src/com/android/inputmethod/latin/DictionaryInfoUtils.java @@ -41,8 +41,6 @@ public class DictionaryInfoUtils { private static final String RESOURCE_PACKAGE_NAME = DictionaryInfoUtils.class.getPackage().getName(); private static final String DEFAULT_MAIN_DICT = "main"; - private static final String ID_CATEGORY_SEPARATOR = - BinaryDictionaryGetter.ID_CATEGORY_SEPARATOR; private static final String MAIN_DICT_PREFIX = "main_"; // 6 digits - unicode is limited to 21 bits private static final int MAX_HEX_DIGITS_FOR_CODEPOINT = 6; @@ -58,12 +56,12 @@ public class DictionaryInfoUtils { public final AssetFileAddress mFileAddress; public final int mVersion; public final String mId; - public DictionaryInfo(final Locale locale, final AssetFileAddress fileAddress, - final int version) { + public DictionaryInfo(final String id, final Locale locale, + final AssetFileAddress fileAddress, final int version) { + mId = id; mLocale = locale; mFileAddress = fileAddress; mVersion = version; - mId = DEFAULT_MAIN_DICT + ID_CATEGORY_SEPARATOR + mLocale; } public ContentValues toContentValues() { final ContentValues values = new ContentValues(); @@ -283,9 +281,10 @@ public class DictionaryInfoUtils { final AssetFileAddress fileAddress) { final FileHeader header = BinaryDictIOUtils.getDictionaryFileHeaderOrNull( new File(fileAddress.mFilename), fileAddress.mOffset, fileAddress.mLength); + final String id = header.getId(); final Locale locale = LocaleUtils.constructLocaleFromString(header.getLocaleString()); final String version = header.getVersion(); - return new DictionaryInfo(locale, fileAddress, Integer.parseInt(version)); + return new DictionaryInfo(id, locale, fileAddress, Integer.parseInt(version)); } private static void addOrUpdateDictInfo(final ArrayList<DictionaryInfo> dictList, |