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
diff --git a/src/com/android/settings/TextToSpeechSettings.java b/src/com/android/settings/TextToSpeechSettings.java
index d1a63e2..23959c8 100644
--- a/src/com/android/settings/TextToSpeechSettings.java
+++ b/src/com/android/settings/TextToSpeechSettings.java
@@ -122,6 +122,8 @@
mEnableDemo = false;
initClickers();
initDefaultSettings();
+
+ mTts = new TextToSpeech(this, this);
}
@@ -677,6 +679,14 @@
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);
}
}