aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-06-10 18:05:10 +0900
committerKeisuke Kuroyanagi <ksk@google.com>2014-06-10 18:05:10 +0900
commit18df1925358229e98ad1db3d409577353a8e9a92 (patch)
treee8a517cd1bde7e8e62870fc2ca38d59402891406 /java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
parent1ffb7cd4481bb7ea6d364a26e658d0b930dd3a1b (diff)
downloadlatinime-18df1925358229e98ad1db3d409577353a8e9a92.tar.gz
latinime-18df1925358229e98ad1db3d409577353a8e9a92.tar.xz
latinime-18df1925358229e98ad1db3d409577353a8e9a92.zip
Add prefix to the arguments of getDictionary().
Bug: 13630847 Change-Id: Ib4513b8cb6981e01dd33fd9703cc01646a2c7ccc
Diffstat (limited to 'java/src/com/android/inputmethod/latin/DictionaryFacilitator.java')
-rw-r--r--java/src/com/android/inputmethod/latin/DictionaryFacilitator.java21
1 files changed, 16 insertions, 5 deletions
diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
index bdf39238a..89fef7de4 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
@@ -87,7 +87,7 @@ public class DictionaryFacilitator {
private static final String DICT_FACTORY_METHOD_NAME = "getDictionary";
private static final Class<?>[] DICT_FACTORY_METHOD_ARG_TYPES =
- new Class[] { Context.class, Locale.class, File.class };
+ new Class[] { Context.class, Locale.class, File.class, String.class };
private static final String[] SUB_DICT_TYPES =
Arrays.copyOfRange(DICT_TYPES_ORDERED_TO_GET_SUGGESTIONS, 1 /* start */,
@@ -185,7 +185,8 @@ public class DictionaryFacilitator {
}
private static ExpandableBinaryDictionary getSubDict(final String dictType,
- final Context context, final Locale locale, final File dictFile) {
+ final Context context, final Locale locale, final File dictFile,
+ final String dictNamePrefix) {
final Class<? extends ExpandableBinaryDictionary> dictClass =
DICT_TYPE_TO_CLASS.get(dictType);
if (dictClass == null) {
@@ -195,7 +196,7 @@ public class DictionaryFacilitator {
final Method factoryMethod = dictClass.getMethod(DICT_FACTORY_METHOD_NAME,
DICT_FACTORY_METHOD_ARG_TYPES);
final Object dict = factoryMethod.invoke(null /* obj */,
- new Object[] { context, locale, dictFile });
+ new Object[] { context, locale, dictFile, dictNamePrefix });
return (ExpandableBinaryDictionary) dict;
} catch (final NoSuchMethodException | SecurityException | IllegalAccessException
| IllegalArgumentException | InvocationTargetException e) {
@@ -208,6 +209,15 @@ public class DictionaryFacilitator {
final boolean useContactsDict, final boolean usePersonalizedDicts,
final boolean forceReloadMainDictionary,
final DictionaryInitializationListener listener) {
+ resetDictionariesWithDictNamePrefix(context, newLocale, useContactsDict,
+ usePersonalizedDicts, forceReloadMainDictionary, listener, "" /* dictNamePrefix */);
+ }
+
+ public void resetDictionariesWithDictNamePrefix(final Context context, final Locale newLocale,
+ final boolean useContactsDict, final boolean usePersonalizedDicts,
+ final boolean forceReloadMainDictionary,
+ final DictionaryInitializationListener listener,
+ final String dictNamePrefix) {
final boolean localeHasBeenChanged = !newLocale.equals(mDictionaries.mLocale);
// We always try to have the main dictionary. Other dictionaries can be unused.
final boolean reloadMainDictionary = localeHasBeenChanged || forceReloadMainDictionary;
@@ -243,7 +253,8 @@ public class DictionaryFacilitator {
dict = mDictionaries.getSubDict(dictType);
} else {
// Start to use new dictionary.
- dict = getSubDict(dictType, context, newLocale, null /* dictFile */);
+ dict = getSubDict(dictType, context, newLocale, null /* dictFile */,
+ dictNamePrefix);
}
subDicts.put(dictType, dict);
}
@@ -312,7 +323,7 @@ public class DictionaryFacilitator {
} else {
final File dictFile = dictionaryFiles.get(dictType);
final ExpandableBinaryDictionary dict = getSubDict(
- dictType, context, locale, dictFile);
+ dictType, context, locale, dictFile, "" /* dictNamePrefix */);
if (additionalDictAttributes.containsKey(dictType)) {
dict.clearAndFlushDictionaryWithAdditionalAttributes(
additionalDictAttributes.get(dictType));