Use the new settings API.

Check for a meta-data element instead of a hardcoded
settings class.

Change-Id: Ife67ea64ad1f4ee36749c0b6f8c96d5a22d5b6e2
This commit is contained in:
Narayan Kamath
2011-06-20 11:49:42 +01:00
parent a610199ef7
commit 222a619668

View File

@@ -130,7 +130,7 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
mDefaultRatePref = (ListPreference) findPreference(KEY_TTS_DEFAULT_RATE); mDefaultRatePref = (ListPreference) findPreference(KEY_TTS_DEFAULT_RATE);
mDefaultLocPref = (ListPreference) findPreference(KEY_TTS_DEFAULT_LANG); mDefaultLocPref = (ListPreference) findPreference(KEY_TTS_DEFAULT_LANG);
mEngineSettings = (Preference) findPreference(KEY_TTS_ENGINE_SETTINGS); mEngineSettings = findPreference(KEY_TTS_ENGINE_SETTINGS);
mEngineSettings.setEnabled(false); mEngineSettings.setEnabled(false);
mTts = new TextToSpeech(getActivity().getApplicationContext(), this); mTts = new TextToSpeech(getActivity().getApplicationContext(), this);
@@ -181,12 +181,11 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
mEngineSettings.setTitle(getResources().getString(R.string.tts_engine_settings_title, mEngineSettings.setTitle(getResources().getString(R.string.tts_engine_settings_title,
engine.label)); engine.label));
if (engineHasSettings(engineName)) { final Intent settingsIntent = mEnginesHelper.getSettingsIntent(engineName);
if (settingsIntent != null) {
mEngineSettings.setOnPreferenceClickListener(new OnPreferenceClickListener() { mEngineSettings.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) { public boolean onPreferenceClick(Preference preference) {
Intent i = new Intent(); startActivity(settingsIntent);
i.setClassName(engineName, engineName + ".EngineSettings");
startActivity(i);
return true; return true;
} }
}); });
@@ -197,16 +196,6 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
} }
private boolean engineHasSettings(String enginePackageName) {
PackageManager pm = getPackageManager();
Intent i = new Intent();
i.setClassName(enginePackageName, enginePackageName + ".EngineSettings");
if (pm.resolveActivity(i, PackageManager.MATCH_DEFAULT_ONLY) != null){
return true;
}
return false;
}
private void initDefaultSettings() { private void initDefaultSettings() {
ContentResolver resolver = getContentResolver(); ContentResolver resolver = getContentResolver();