fix unintentional drift
Change-Id: Ie13a72e323e9a1d2c9ec3c034c33792be6634fec
diff --git a/src/com/android/settings/TextToSpeechSettings.java b/src/com/android/settings/TextToSpeechSettings.java
index 84b14a1..89a4641 100644
--- a/src/com/android/settings/TextToSpeechSettings.java
+++ b/src/com/android/settings/TextToSpeechSettings.java
@@ -408,7 +408,17 @@
(ListPreference) findPreference("tts_default_lang");
CharSequence[] entries = new CharSequence[available.size()];
CharSequence[] entryValues = new CharSequence[available.size()];
- for (int i=0; i<available.size(); i++){
+ int selectedLanguageIndex = -1;
+ String selectedLanguagePref = mDefaultLanguage;
+ if (mDefaultCountry.length() > 0) {
+ selectedLanguagePref = selectedLanguagePref + LOCALE_DELIMITER +
+ mDefaultCountry;
+ }
+ if (mDefaultLocVariant.length() > 0) {
+ selectedLanguagePref = selectedLanguagePref + LOCALE_DELIMITER +
+ mDefaultLocVariant;
+ }
+ for (int i = 0; i < available.size(); i++) {
String[] langCountryVariant = available.get(i).split("-");
Locale loc = null;
if (langCountryVariant.length == 1){
@@ -422,10 +432,16 @@
if (loc != null){
entries[i] = loc.getDisplayName();
entryValues[i] = available.get(i);
+ if (entryValues[i].equals(selectedLanguagePref)) {
+ selectedLanguageIndex = i;
+ }
}
}
ttsLanguagePref.setEntries(entries);
ttsLanguagePref.setEntryValues(entryValues);
+ if (selectedLanguageIndex > -1) {
+ ttsLanguagePref.setValueIndex(selectedLanguageIndex);
+ }
mEnableDemo = true;
// Make sure that the default language can be used.
int languageResult = mTts.setLanguage(
@@ -653,8 +669,20 @@
* Returns whether there is a default language in the TTS settings.
*/
private boolean hasLangPref() {
- String language = Settings.Secure.getString(getContentResolver(), TTS_DEFAULT_LANG);
- return (language != null);
+ ContentResolver resolver = getContentResolver();
+ String language = Settings.Secure.getString(resolver, TTS_DEFAULT_LANG);
+ if ((language == null) || (language.length() < 1)) {
+ return false;
+ }
+ String country = Settings.Secure.getString(resolver, TTS_DEFAULT_COUNTRY);
+ if (country == null) {
+ return false;
+ }
+ String variant = Settings.Secure.getString(resolver, TTS_DEFAULT_VARIANT);
+ if (variant == null) {
+ return false;
+ }
+ return true;
}
/**