From 8ca7d88c1bdb7e2a233e48f67477c56d6c7f42a3 Mon Sep 17 00:00:00 2001 From: Charles Chen Date: Mon, 12 Apr 2010 18:32:33 -0700 Subject: [PATCH] Fixing bug #2591288 The language pref needs to be set after populating the entries based on the selected engine. Change-Id: I16db4428eee83052ff7c5115942eef4bf3d87454 --- .../android/settings/TextToSpeechSettings.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/TextToSpeechSettings.java b/src/com/android/settings/TextToSpeechSettings.java index 84b14a191a5..04287beb219 100644 --- a/src/com/android/settings/TextToSpeechSettings.java +++ b/src/com/android/settings/TextToSpeechSettings.java @@ -408,7 +408,17 @@ public class TextToSpeechSettings extends PreferenceActivity implements (ListPreference) findPreference("tts_default_lang"); CharSequence[] entries = new CharSequence[available.size()]; CharSequence[] entryValues = new CharSequence[available.size()]; - for (int i=0; i 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 @@ public class TextToSpeechSettings extends PreferenceActivity implements 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(