Saving the list of enabled plugins in secure settings so that the

TextToSpeech service can later check which plugins are enabled.

Change-Id: I5fce45540c1b7faf466c11b3b76259fde2e7c2ed
This commit is contained in:
Charles Chen
2010-03-17 17:33:23 -07:00
parent 05d35416e8
commit f47cce0789

View File

@@ -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_COUNTRY;
import static android.provider.Settings.Secure.TTS_DEFAULT_VARIANT; 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_DEFAULT_SYNTH;
import static android.provider.Settings.Secure.TTS_ENABLED_PLUGINS;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.content.ContentResolver; import android.content.ContentResolver;
@@ -652,19 +653,24 @@ public class TextToSpeechSettings extends PreferenceActivity implements
enginesArray = pm.queryIntentActivities(intent, 0).toArray(enginesArray); enginesArray = pm.queryIntentActivities(intent, 0).toArray(enginesArray);
ArrayList<CharSequence> entries = new ArrayList<CharSequence>(); ArrayList<CharSequence> entries = new ArrayList<CharSequence>();
ArrayList<CharSequence> values = new ArrayList<CharSequence>(); ArrayList<CharSequence> values = new ArrayList<CharSequence>();
String enabledEngines = "";
for (int i = 0; i < enginesArray.length; i++) { 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)); entries.add(enginesArray[i].loadLabel(pm));
values.add(enginesArray[i].activityInfo.packageName); values.add(pluginPackageName);
} else { } else {
CheckBoxPreference pref = (CheckBoxPreference) findPreference( CheckBoxPreference pref = (CheckBoxPreference) findPreference(
KEY_PLUGIN_ENABLED_PREFIX + enginesArray[i].activityInfo.packageName); KEY_PLUGIN_ENABLED_PREFIX + pluginPackageName);
if ((pref != null) && pref.isChecked()){ if ((pref != null) && pref.isChecked()){
entries.add(enginesArray[i].loadLabel(pm)); 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 entriesArray[] = new CharSequence[entries.size()];
CharSequence valuesArray[] = new CharSequence[values.size()]; CharSequence valuesArray[] = new CharSequence[values.size()];