diff options
author | 2013-03-19 16:45:25 +0900 | |
---|---|---|
committer | 2013-03-19 16:45:25 +0900 | |
commit | 1061bfdb34bbcb63bf0046eec42313d264ac33fa (patch) | |
tree | 49522ebf3ca71497dbaa64c8ab5b9499826130bf | |
parent | 0cc0544a2995c7eb54a830ae54db60af89d4073d (diff) | |
download | latinime-1061bfdb34bbcb63bf0046eec42313d264ac33fa.tar.gz latinime-1061bfdb34bbcb63bf0046eec42313d264ac33fa.tar.xz latinime-1061bfdb34bbcb63bf0046eec42313d264ac33fa.zip |
Break dependencies to allow offdevice tests to build
Change-Id: Ia9a2e8f0672b3f72943f26fb15de1d3c7c5ce7f1
8 files changed, 61 insertions, 34 deletions
diff --git a/java/src/com/android/inputmethod/dictionarypack/DictionaryPackConstants.java b/java/src/com/android/inputmethod/dictionarypack/DictionaryPackConstants.java new file mode 100644 index 000000000..0c8b466a4 --- /dev/null +++ b/java/src/com/android/inputmethod/dictionarypack/DictionaryPackConstants.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.android.inputmethod.dictionarypack; + +/** + * A class to group constants for dictionary pack usage. + * + * This class only defines constants. It should not make any references to outside code as far as + * possible, as it's used to separate cleanly the keyboard code from the dictionary pack code; this + * is needed in particular to cleanly compile regression tests. + */ +public class DictionaryPackConstants { + /** + * Authority for the ContentProvider protocol. + */ + // TODO: find some way to factorize this string with the one in the resources + public static final String AUTHORITY = "com.android.inputmethod.dictionarypack.aosp"; + + /** + * The action of the intent for publishing that new dictionary data is available. + */ + // TODO: make this different across different packages. A suggested course of action is + // to use the package name inside this string. + public static final String NEW_DICTIONARY_INTENT_ACTION = + "com.android.inputmethod.dictionarypack.newdict"; +} diff --git a/java/src/com/android/inputmethod/dictionarypack/DictionaryProvider.java b/java/src/com/android/inputmethod/dictionarypack/DictionaryProvider.java index 2da871305..77b3b8e2e 100644 --- a/java/src/com/android/inputmethod/dictionarypack/DictionaryProvider.java +++ b/java/src/com/android/inputmethod/dictionarypack/DictionaryProvider.java @@ -48,11 +48,8 @@ public final class DictionaryProvider extends ContentProvider { private static final String TAG = DictionaryProvider.class.getSimpleName(); public static final boolean DEBUG = false; - // Authority and URI matching for the ContentProvider protocol. - // TODO: find some way to factorize this string with the one in the resources - public static final String AUTHORITY = "com.android.inputmethod.dictionarypack.aosp"; public static final Uri CONTENT_URI = - Uri.parse(ContentResolver.SCHEME_CONTENT + "://" + AUTHORITY); + Uri.parse(ContentResolver.SCHEME_CONTENT + "://" + DictionaryPackConstants.AUTHORITY); private static final String QUERY_PARAMETER_MAY_PROMPT_USER = "mayPrompt"; private static final String QUERY_PARAMETER_TRUE = "true"; private static final String QUERY_PARAMETER_DELETE_RESULT = "result"; @@ -70,12 +67,15 @@ public final class DictionaryProvider extends ContentProvider { private static final UriMatcher sUriMatcherV2 = new UriMatcher(NO_MATCH); static { - sUriMatcherV1.addURI(AUTHORITY, "list", DICTIONARY_V1_WHOLE_LIST); - sUriMatcherV1.addURI(AUTHORITY, "*", DICTIONARY_V1_DICT_INFO); - sUriMatcherV2.addURI(AUTHORITY, "*/metadata", DICTIONARY_V2_METADATA); - sUriMatcherV2.addURI(AUTHORITY, "*/list", DICTIONARY_V2_WHOLE_LIST); - sUriMatcherV2.addURI(AUTHORITY, "*/dict/*", DICTIONARY_V2_DICT_INFO); - sUriMatcherV2.addURI(AUTHORITY, "*/datafile/*", DICTIONARY_V2_DATAFILE); + sUriMatcherV1.addURI(DictionaryPackConstants.AUTHORITY, "list", DICTIONARY_V1_WHOLE_LIST); + sUriMatcherV1.addURI(DictionaryPackConstants.AUTHORITY, "*", DICTIONARY_V1_DICT_INFO); + sUriMatcherV2.addURI(DictionaryPackConstants.AUTHORITY, "*/metadata", + DICTIONARY_V2_METADATA); + sUriMatcherV2.addURI(DictionaryPackConstants.AUTHORITY, "*/list", DICTIONARY_V2_WHOLE_LIST); + sUriMatcherV2.addURI(DictionaryPackConstants.AUTHORITY, "*/dict/*", + DICTIONARY_V2_DICT_INFO); + sUriMatcherV2.addURI(DictionaryPackConstants.AUTHORITY, "*/datafile/*", + DICTIONARY_V2_DATAFILE); } // MIME types for dictionary and dictionary list, as required by ContentProvider contract. diff --git a/java/src/com/android/inputmethod/dictionarypack/DictionarySettingsFragment.java b/java/src/com/android/inputmethod/dictionarypack/DictionarySettingsFragment.java index f5526ddd7..7e2a6bb1e 100644 --- a/java/src/com/android/inputmethod/dictionarypack/DictionarySettingsFragment.java +++ b/java/src/com/android/inputmethod/dictionarypack/DictionarySettingsFragment.java @@ -123,7 +123,8 @@ public final class DictionarySettingsFragment extends PreferenceFragment UpdateHandler.unregisterUpdateEventListener(this); activity.unregisterReceiver(mConnectivityChangedReceiver); if (mChangedSettings) { - final Intent newDictBroadcast = new Intent(UpdateHandler.NEW_DICTIONARY_INTENT_ACTION); + final Intent newDictBroadcast = + new Intent(DictionaryPackConstants.NEW_DICTIONARY_INTENT_ACTION); activity.sendBroadcast(newDictBroadcast); mChangedSettings = false; } diff --git a/java/src/com/android/inputmethod/dictionarypack/UpdateHandler.java b/java/src/com/android/inputmethod/dictionarypack/UpdateHandler.java index 89cf6ed88..b4727509c 100644 --- a/java/src/com/android/inputmethod/dictionarypack/UpdateHandler.java +++ b/java/src/com/android/inputmethod/dictionarypack/UpdateHandler.java @@ -88,14 +88,6 @@ public final class UpdateHandler { // Name of the category for the main dictionary public static final String MAIN_DICTIONARY_CATEGORY = "main"; - /** - * The action of the intent for publishing that new dictionary data is available. - */ - // TODO: make this different across different packages. A suggested course of action is - // to use the package name inside this string. - public static final String NEW_DICTIONARY_INTENT_ACTION = - "com.android.inputmethod.dictionarypack.newdict"; - // The id for the "dictionary available" notification. static final int DICT_AVAILABLE_NOTIFICATION_ID = 1; @@ -552,7 +544,8 @@ public final class UpdateHandler { * Warn Android Keyboard that the state of dictionaries changed and it should refresh its data. */ private static void signalNewDictionaryState(final Context context) { - final Intent newDictBroadcast = new Intent(NEW_DICTIONARY_INTENT_ACTION); + final Intent newDictBroadcast = + new Intent(DictionaryPackConstants.NEW_DICTIONARY_INTENT_ACTION); context.sendBroadcast(newDictBroadcast); } diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java index 7383862b1..18e712212 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java @@ -19,7 +19,6 @@ package com.android.inputmethod.latin; import android.text.TextUtils; import android.util.SparseArray; -import com.android.inputmethod.dictionarypack.DictionaryProvider; import com.android.inputmethod.keyboard.ProximityInfo; import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; @@ -32,7 +31,6 @@ import java.util.Locale; */ public final class BinaryDictionary extends Dictionary { private static final String TAG = BinaryDictionary.class.getSimpleName(); - public static final String DICTIONARY_PACK_AUTHORITY = DictionaryProvider.AUTHORITY; // Must be equal to MAX_WORD_LENGTH in native/jni/src/defines.h private static final int MAX_WORD_LENGTH = Constants.Dictionary.MAX_WORD_LENGTH; diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java b/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java index 0d0ce5756..4bec99c04 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java @@ -27,6 +27,7 @@ import android.os.RemoteException; import android.text.TextUtils; import android.util.Log; +import com.android.inputmethod.dictionarypack.DictionaryPackConstants; import com.android.inputmethod.latin.DictionaryInfoUtils.DictionaryInfo; import java.io.BufferedInputStream; @@ -93,8 +94,7 @@ public final class BinaryDictionaryFileDumper { */ private static Uri.Builder getProviderUriBuilder(final String path) { return new Uri.Builder().scheme(ContentResolver.SCHEME_CONTENT) - .authority(BinaryDictionary.DICTIONARY_PACK_AUTHORITY).appendPath( - path); + .authority(DictionaryPackConstants.AUTHORITY).appendPath(path); } /** diff --git a/java/src/com/android/inputmethod/latin/DictionaryPackInstallBroadcastReceiver.java b/java/src/com/android/inputmethod/latin/DictionaryPackInstallBroadcastReceiver.java index d6c88910f..35f3119ea 100644 --- a/java/src/com/android/inputmethod/latin/DictionaryPackInstallBroadcastReceiver.java +++ b/java/src/com/android/inputmethod/latin/DictionaryPackInstallBroadcastReceiver.java @@ -16,7 +16,7 @@ package com.android.inputmethod.latin; -import com.android.inputmethod.dictionarypack.UpdateHandler; +import com.android.inputmethod.dictionarypack.DictionaryPackConstants; import android.content.BroadcastReceiver; import android.content.Context; @@ -32,11 +32,6 @@ import android.net.Uri; public final class DictionaryPackInstallBroadcastReceiver extends BroadcastReceiver { final LatinIME mService; - /** - * The action of the intent for publishing that new dictionary data is available. - */ - /* package */ static final String NEW_DICTIONARY_INTENT_ACTION = - UpdateHandler.NEW_DICTIONARY_INTENT_ACTION; public DictionaryPackInstallBroadcastReceiver(final LatinIME service) { mService = service; @@ -66,7 +61,7 @@ public final class DictionaryPackInstallBroadcastReceiver extends BroadcastRecei // Search for some dictionary pack in the just-installed package. If found, reread. for (ProviderInfo info : providers) { - if (BinaryDictionary.DICTIONARY_PACK_AUTHORITY.equals(info.authority)) { + if (DictionaryPackConstants.AUTHORITY.equals(info.authority)) { mService.resetSuggestMainDict(); return; } @@ -86,7 +81,7 @@ public final class DictionaryPackInstallBroadcastReceiver extends BroadcastRecei // TODO: Only reload dictionary on REMOVED when the removed package is the one we // read dictionary from? mService.resetSuggestMainDict(); - } else if (action.equals(NEW_DICTIONARY_INTENT_ACTION)) { + } else if (action.equals(DictionaryPackConstants.NEW_DICTIONARY_INTENT_ACTION)) { mService.resetSuggestMainDict(); } } diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 0c6702d72..b724d2fa6 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -64,6 +64,7 @@ import com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy; import com.android.inputmethod.annotations.UsedForTesting; import com.android.inputmethod.compat.InputMethodServiceCompatUtils; import com.android.inputmethod.compat.SuggestionSpanUtils; +import com.android.inputmethod.dictionarypack.DictionaryPackConstants; import com.android.inputmethod.event.EventInterpreter; import com.android.inputmethod.keyboard.KeyDetector; import com.android.inputmethod.keyboard.Keyboard; @@ -450,8 +451,7 @@ public final class LatinIME extends InputMethodService implements KeyboardAction registerReceiver(mDictionaryPackInstallReceiver, packageFilter); final IntentFilter newDictFilter = new IntentFilter(); - newDictFilter.addAction( - DictionaryPackInstallBroadcastReceiver.NEW_DICTIONARY_INTENT_ACTION); + newDictFilter.addAction(DictionaryPackConstants.NEW_DICTIONARY_INTENT_ACTION); registerReceiver(mDictionaryPackInstallReceiver, newDictFilter); } } |