diff --git a/src/com/android/settings/TextToSpeechSettings.java b/src/com/android/settings/TextToSpeechSettings.java index 1f81c9905f8..f7945d85d1f 100644 --- a/src/com/android/settings/TextToSpeechSettings.java +++ b/src/com/android/settings/TextToSpeechSettings.java @@ -130,7 +130,7 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements 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 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements 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 @@ 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() { ContentResolver resolver = getContentResolver();