aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/dictionarypack/DictionarySettingsFragment.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2013-03-28 18:59:19 +0900
committerJean Chalard <jchalard@google.com>2013-04-01 17:37:22 +0900
commit76d5f512f99700a963aa20a02590833e37221bff (patch)
treeef3db31c596f015a3e2388a718e5bf07c56d85d8 /java/src/com/android/inputmethod/dictionarypack/DictionarySettingsFragment.java
parentc1dec87a76565c5dfa223c7d4d5f10a345ab3799 (diff)
downloadlatinime-76d5f512f99700a963aa20a02590833e37221bff.tar.gz
latinime-76d5f512f99700a963aa20a02590833e37221bff.tar.xz
latinime-76d5f512f99700a963aa20a02590833e37221bff.zip
Ask the client to make itself known when it's not
Upon invoking the settings of the dictionary pack with an unknown client, we now launch an intent to ask the client to make itself known. This change also includes the code that receives this intent and acts upon it. Bug: 8492879 Change-Id: I2c6496dea845646961ecafcf64e282cb93ee91dc
Diffstat (limited to 'java/src/com/android/inputmethod/dictionarypack/DictionarySettingsFragment.java')
-rw-r--r--java/src/com/android/inputmethod/dictionarypack/DictionarySettingsFragment.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/dictionarypack/DictionarySettingsFragment.java b/java/src/com/android/inputmethod/dictionarypack/DictionarySettingsFragment.java
index e85bb0d4a..9e27c1f3f 100644
--- a/java/src/com/android/inputmethod/dictionarypack/DictionarySettingsFragment.java
+++ b/java/src/com/android/inputmethod/dictionarypack/DictionarySettingsFragment.java
@@ -110,6 +110,15 @@ public final class DictionarySettingsFragment extends PreferenceFragment
super.onResume();
mChangedSettings = false;
UpdateHandler.registerUpdateEventListener(this);
+ final Activity activity = getActivity();
+ if (!MetadataDbHelper.isClientKnown(activity, mClientId)) {
+ Log.i(TAG, "Unknown dictionary pack client: " + mClientId + ". Requesting info.");
+ final Intent unknownClientBroadcast =
+ new Intent(DictionaryPackConstants.UNKNOWN_DICTIONARY_PROVIDER_CLIENT);
+ unknownClientBroadcast.putExtra(
+ DictionaryPackConstants.DICTIONARY_PROVIDER_CLIENT_EXTRA, mClientId);
+ activity.sendBroadcast(unknownClientBroadcast);
+ }
final IntentFilter filter = new IntentFilter();
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
getActivity().registerReceiver(mConnectivityChangedReceiver, filter);
@@ -363,7 +372,12 @@ public final class DictionarySettingsFragment extends PreferenceFragment
getActivity(), android.R.anim.fade_out));
preferenceView.startAnimation(AnimationUtils.loadAnimation(
getActivity(), android.R.anim.fade_in));
- mUpdateNowMenu.setTitle(R.string.check_for_updates_now);
+ // The menu is created by the framework asynchronously after the activity,
+ // which means it's possible to have the activity running but the menu not
+ // created yet - hence the necessity for a null check here.
+ if (null != mUpdateNowMenu) {
+ mUpdateNowMenu.setTitle(R.string.check_for_updates_now);
+ }
}
});
}