Normalize TTS default locale before #toDisplayString

TTS is... special in regard of Locale instances it uses.
Recently ISO-3166 alpha 3 country codes went out of spec, so
"English (GBR)".

Bug: 15741357
Change-Id: I022105acad9d319d5e09231be340405d797c84c4
diff --git a/src/com/android/settings/tts/TextToSpeechSettings.java b/src/com/android/settings/tts/TextToSpeechSettings.java
index d3f9c7b..8417cfd 100644
--- a/src/com/android/settings/tts/TextToSpeechSettings.java
+++ b/src/com/android/settings/tts/TextToSpeechSettings.java
@@ -268,7 +268,9 @@
             return;
         }
 
-        mCurrentDefaultLocale = defaultLocale;
+        // ISO-3166 alpha 3 country codes are out of spec. If we won't normalize,
+        // we may end up with English (USA)and German (DEU).
+        mCurrentDefaultLocale = mEnginesHelper.parseLocaleString(defaultLocale.toString());
 
         int defaultAvailable = mTts.setLanguage(defaultLocale);
         if (evaluateDefaultLocale()) {