diff --git a/res/xml/tts_engine_settings.xml b/res/xml/tts_engine_settings.xml index 03414e838f7..176bdbcb057 100644 --- a/res/xml/tts_engine_settings.xml +++ b/res/xml/tts_engine_settings.xml @@ -19,16 +19,19 @@ android:key="tts_default_lang" android:title="@string/tts_default_lang_title" android:summary="@string/tts_default_lang_summary" - android:persistent="false" /> + android:persistent="false" + android:order="100" /> + android:title="@string/tts_engine_settings_title" + android:order="200" /> + android:summary="@string/tts_install_data_summary" + android:order="300" /> diff --git a/src/com/android/settings/tts/TtsEngineSettingsFragment.java b/src/com/android/settings/tts/TtsEngineSettingsFragment.java index 267b8e1a1c9..d8e32aac792 100644 --- a/src/com/android/settings/tts/TtsEngineSettingsFragment.java +++ b/src/com/android/settings/tts/TtsEngineSettingsFragment.java @@ -104,7 +104,8 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem mInstallVoicesPreference.setOnPreferenceClickListener(this); // Remove this preference unless voices are indeed available to install. root.removePreference(mInstallVoicesPreference); - + // Remove this preference unless locales are indeed available. + root.removePreference(mLocalePreference); root.setTitle(getEngineLabel()); root.setKey(getEngineName()); @@ -121,8 +122,6 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem mVoiceDataDetails = getArguments().getParcelable(TtsEnginePreference.FRAGMENT_ARGS_VOICES); - updateVoiceDetails(); - mTts = new TextToSpeech(getActivity().getApplicationContext(), mTtsInitListener, getEngineName()); @@ -169,9 +168,8 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem if (available == null){ Log.e(TAG, "TTS data check failed (available == null)."); - final CharSequence[] empty = new CharSequence[0]; - mLocalePreference.setEntries(empty); - mLocalePreference.setEntryValues(empty); + mLocalePreference.setEnabled(false); + getPreferenceScreen().removePreference(mLocalePreference); return; } @@ -183,11 +181,12 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem } if (available.size() > 0) { + mLocalePreference.setEnabled(true); + getPreferenceScreen().addPreference(mLocalePreference); updateDefaultLocalePref(available); } else { - final CharSequence[] empty = new CharSequence[0]; - mLocalePreference.setEntries(empty); - mLocalePreference.setEntryValues(empty); + mLocalePreference.setEnabled(false); + getPreferenceScreen().removePreference(mLocalePreference); } }