diff --git a/java/res/values/donottranslate.xml b/java/res/values/donottranslate.xml index edf615accabf22e063a8f0a63ae4a79968bd80d6..798d615a1eebb7b966b851a4e291a392c586378f 100644 --- a/java/res/values/donottranslate.xml +++ b/java/res/values/donottranslate.xml @@ -213,5 +213,6 @@ <!-- dictionary pack package name /settings activity (for shared prefs and settings) --> <string name="dictionary_pack_package_name">com.google.android.inputmethod.latin.dictionarypack</string> <string name="dictionary_pack_settings_activity">com.google.android.inputmethod.latin.dictionarypack.DictionarySettingsActivity</string> + <string name="dictionary_pack_client_id">com.android.inputmethod.latin</string> <string name="settings_warning_researcher_mode">Attention! You are using the special keyboard for research purposes.</string> </resources> diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java b/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java index ef440c5dff1bf1b26765ae074de0b23640763bfd..d4cdc6c5c024756d7cdf6bf7dc6fe0b29c89757e 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java @@ -62,6 +62,13 @@ public final class BinaryDictionaryFileDumper { private static final String QUERY_PARAMETER_SUCCESS = "success"; private static final String QUERY_PARAMETER_FAILURE = "failure"; + // Using protocol version 2 to communicate with the dictionary pack + private static final String QUERY_PARAMETER_PROTOCOL = "protocol"; + private static final String QUERY_PARAMETER_PROTOCOL_VALUE = "2"; + + // The path fragment to append after the client ID for dictionary info requests. + private static final String QUERY_PATH_DICT_INFO = "dict"; + // Prevents this class to be accidentally instantiated. private BinaryDictionaryFileDumper() { } @@ -85,7 +92,11 @@ public final class BinaryDictionaryFileDumper { private static List<WordListInfo> getWordListWordListInfos(final Locale locale, final Context context, final boolean hasDefaultWordList) { final ContentResolver resolver = context.getContentResolver(); - final Uri.Builder builder = getProviderUriBuilder(locale.toString()); + final String clientId = context.getString(R.string.dictionary_pack_client_id); + final Uri.Builder builder = getProviderUriBuilder(clientId); + builder.appendPath(QUERY_PATH_DICT_INFO); + builder.appendPath(locale.toString()); + builder.appendQueryParameter(QUERY_PARAMETER_PROTOCOL, QUERY_PARAMETER_PROTOCOL_VALUE); if (!hasDefaultWordList) { builder.appendQueryParameter(QUERY_PARAMETER_MAY_PROMPT_USER, QUERY_PARAMETER_TRUE); }