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;
     }
 
     /**