From 6ac8ddb8983a4abdf37214c86394033d6bc79235 Mon Sep 17 00:00:00 2001 From: Przemyslaw Szczepaniak Date: Thu, 19 Jun 2014 16:01:39 +0100 Subject: [PATCH] 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 --- src/com/android/settings/tts/TextToSpeechSettings.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/tts/TextToSpeechSettings.java b/src/com/android/settings/tts/TextToSpeechSettings.java index d3f9c7b4433..8417cfdf966 100644 --- a/src/com/android/settings/tts/TextToSpeechSettings.java +++ b/src/com/android/settings/tts/TextToSpeechSettings.java @@ -268,7 +268,9 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements 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()) {