From be6e8276e386a3fb1d38a57d7b95df8f00ad74a5 Mon Sep 17 00:00:00 2001 From: Charles Chen Date: Mon, 22 Mar 2010 16:06:05 -0700 Subject: [PATCH] Fixing a problem with the TextToSpeech settings not reflecting the current engine that the user has selected when displaying the list of engines that are available. Change-Id: I77d35ff1c691fd3e5c967fcf367647d415d2468e --- src/com/android/settings/TextToSpeechSettings.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/com/android/settings/TextToSpeechSettings.java b/src/com/android/settings/TextToSpeechSettings.java index d1a63e2593a..23959c87ced 100644 --- a/src/com/android/settings/TextToSpeechSettings.java +++ b/src/com/android/settings/TextToSpeechSettings.java @@ -122,6 +122,8 @@ public class TextToSpeechSettings extends PreferenceActivity implements mEnableDemo = false; initClickers(); initDefaultSettings(); + + mTts = new TextToSpeech(this, this); } @@ -677,6 +679,14 @@ public class TextToSpeechSettings extends PreferenceActivity implements enginesPref.setEntries(entries.toArray(entriesArray)); enginesPref.setEntryValues(values.toArray(valuesArray)); + + // Set the selected engine based on the saved preference + String selectedEngine = Settings.Secure.getString(getContentResolver(), TTS_DEFAULT_SYNTH); + int selectedEngineIndex = enginesPref.findIndexOfValue(selectedEngine); + if (selectedEngineIndex == -1){ + selectedEngineIndex = enginesPref.findIndexOfValue(SYSTEM_TTS); + } + enginesPref.setValueIndex(selectedEngineIndex); } }