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" />
<Preference
android:key="tts_engine_settings"
android:persistent="false"
- android:title="@string/tts_engine_settings_title" />
+ android:title="@string/tts_engine_settings_title"
+ android:order="200" />
<Preference
android:key="tts_install_data"
android:persistent="false"
android:title="@string/tts_install_data_title"
- android:summary="@string/tts_install_data_summary" />
+ android:summary="@string/tts_install_data_summary"
+ android:order="300" />
</PreferenceScreen>
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());
mVoiceDataDetails = getArguments().getParcelable(TtsEnginePreference.FRAGMENT_ARGS_VOICES);
- updateVoiceDetails();
-
mTts = new TextToSpeech(getActivity().getApplicationContext(), mTtsInitListener,
getEngineName());
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;
}
}
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);
}
}