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);
     }
 
 }