From f47cce0789ce466821177e7b605ea3d3c60f080f Mon Sep 17 00:00:00 2001 From: Charles Chen Date: Wed, 17 Mar 2010 17:33:23 -0700 Subject: [PATCH] Saving the list of enabled plugins in secure settings so that the TextToSpeech service can later check which plugins are enabled. Change-Id: I5fce45540c1b7faf466c11b3b76259fde2e7c2ed --- src/com/android/settings/TextToSpeechSettings.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/TextToSpeechSettings.java b/src/com/android/settings/TextToSpeechSettings.java index 6b97ef2ae2f..d1a63e2593a 100644 --- a/src/com/android/settings/TextToSpeechSettings.java +++ b/src/com/android/settings/TextToSpeechSettings.java @@ -22,6 +22,7 @@ import static android.provider.Settings.Secure.TTS_DEFAULT_LANG; import static android.provider.Settings.Secure.TTS_DEFAULT_COUNTRY; import static android.provider.Settings.Secure.TTS_DEFAULT_VARIANT; import static android.provider.Settings.Secure.TTS_DEFAULT_SYNTH; +import static android.provider.Settings.Secure.TTS_ENABLED_PLUGINS; import android.app.AlertDialog; import android.content.ContentResolver; @@ -652,19 +653,24 @@ public class TextToSpeechSettings extends PreferenceActivity implements enginesArray = pm.queryIntentActivities(intent, 0).toArray(enginesArray); ArrayList entries = new ArrayList(); ArrayList values = new ArrayList(); + String enabledEngines = ""; for (int i = 0; i < enginesArray.length; i++) { - if (enginesArray[i].activityInfo.packageName.equals(SYSTEM_TTS)) { + String pluginPackageName = enginesArray[i].activityInfo.packageName; + if (pluginPackageName.equals(SYSTEM_TTS)) { entries.add(enginesArray[i].loadLabel(pm)); - values.add(enginesArray[i].activityInfo.packageName); + values.add(pluginPackageName); } else { CheckBoxPreference pref = (CheckBoxPreference) findPreference( - KEY_PLUGIN_ENABLED_PREFIX + enginesArray[i].activityInfo.packageName); + KEY_PLUGIN_ENABLED_PREFIX + pluginPackageName); if ((pref != null) && pref.isChecked()){ entries.add(enginesArray[i].loadLabel(pm)); - values.add(enginesArray[i].activityInfo.packageName); + values.add(pluginPackageName); + enabledEngines = enabledEngines + pluginPackageName + " "; } } } + ContentResolver resolver = getContentResolver(); + Settings.Secure.putString(resolver, TTS_ENABLED_PLUGINS, enabledEngines); CharSequence entriesArray[] = new CharSequence[entries.size()]; CharSequence valuesArray[] = new CharSequence[values.size()];