Use the new settings API.
Check for a meta-data element instead of a hardcoded
settings class.
Change-Id: Ife67ea64ad1f4ee36749c0b6f8c96d5a22d5b6e2
diff --git a/src/com/android/settings/TextToSpeechSettings.java b/src/com/android/settings/TextToSpeechSettings.java
index 1f81c99..f7945d8 100644
--- a/src/com/android/settings/TextToSpeechSettings.java
+++ b/src/com/android/settings/TextToSpeechSettings.java
@@ -130,7 +130,7 @@
mDefaultRatePref = (ListPreference) findPreference(KEY_TTS_DEFAULT_RATE);
mDefaultLocPref = (ListPreference) findPreference(KEY_TTS_DEFAULT_LANG);
- mEngineSettings = (Preference) findPreference(KEY_TTS_ENGINE_SETTINGS);
+ mEngineSettings = findPreference(KEY_TTS_ENGINE_SETTINGS);
mEngineSettings.setEnabled(false);
mTts = new TextToSpeech(getActivity().getApplicationContext(), this);
@@ -181,12 +181,11 @@
mEngineSettings.setTitle(getResources().getString(R.string.tts_engine_settings_title,
engine.label));
- if (engineHasSettings(engineName)) {
+ final Intent settingsIntent = mEnginesHelper.getSettingsIntent(engineName);
+ if (settingsIntent != null) {
mEngineSettings.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
- Intent i = new Intent();
- i.setClassName(engineName, engineName + ".EngineSettings");
- startActivity(i);
+ startActivity(settingsIntent);
return true;
}
});
@@ -197,16 +196,6 @@
}
- 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() {
ContentResolver resolver = getContentResolver();