diff options
author | Przemyslaw Szczepaniak <pszczepaniak@google.com> | 2014-03-13 23:12:10 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-03-13 23:12:10 +0000 |
commit | cc91f6ff662dbac9ae78c4b68c94e3210c4c876a (patch) | |
tree | 1b252b6495e62dae7a3210cfbc19b2c41c13d41f /src/com/android/settings/tts | |
parent | 7e74b409aabaf5d69b770ba18d75fdedc14b1b26 (diff) | |
parent | 7a5911a96d158567bac1e892aee813af1b563a46 (diff) | |
download | packages_apps_Settings-cc91f6ff662dbac9ae78c4b68c94e3210c4c876a.zip packages_apps_Settings-cc91f6ff662dbac9ae78c4b68c94e3210c4c876a.tar.gz packages_apps_Settings-cc91f6ff662dbac9ae78c4b68c94e3210c4c876a.tar.bz2 |
am 7a5911a9: am 375545e2: am 6829c48c: Merge "Fix F/C in TTS settings"
* commit '7a5911a96d158567bac1e892aee813af1b563a46':
Fix F/C in TTS settings
Diffstat (limited to 'src/com/android/settings/tts')
-rw-r--r-- | src/com/android/settings/tts/TextToSpeechSettings.java | 58 |
1 files changed, 35 insertions, 23 deletions
diff --git a/src/com/android/settings/tts/TextToSpeechSettings.java b/src/com/android/settings/tts/TextToSpeechSettings.java index a3003e8..1d4fe71 100644 --- a/src/com/android/settings/tts/TextToSpeechSettings.java +++ b/src/com/android/settings/tts/TextToSpeechSettings.java @@ -45,6 +45,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Locale; +import java.util.MissingResourceException; import java.util.Set; public class TextToSpeechSettings extends SettingsPreferenceFragment implements @@ -277,25 +278,32 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements if (mCurrentDefaultLocale == null || mAvailableStrLocals == null) { return false; } - int defaultAvailable = mTts.setLanguage(mCurrentDefaultLocale); - // Check if language is listed in CheckVoices Action result as available voice. - String defaultLocaleStr = mCurrentDefaultLocale.getISO3Language(); boolean notInAvailableLangauges = true; - if (!TextUtils.isEmpty(mCurrentDefaultLocale.getISO3Country())) { - defaultLocaleStr += "-" + mCurrentDefaultLocale.getISO3Country(); - } - if (!TextUtils.isEmpty(mCurrentDefaultLocale.getVariant())) { - defaultLocaleStr += "-" + mCurrentDefaultLocale.getVariant(); - } + try { + // Check if language is listed in CheckVoices Action result as available voice. + String defaultLocaleStr = mCurrentDefaultLocale.getISO3Language(); + if (!TextUtils.isEmpty(mCurrentDefaultLocale.getISO3Country())) { + defaultLocaleStr += "-" + mCurrentDefaultLocale.getISO3Country(); + } + if (!TextUtils.isEmpty(mCurrentDefaultLocale.getVariant())) { + defaultLocaleStr += "-" + mCurrentDefaultLocale.getVariant(); + } - for (String loc : mAvailableStrLocals) { - if (loc.equalsIgnoreCase(defaultLocaleStr)) { - notInAvailableLangauges = false; - break; + for (String loc : mAvailableStrLocals) { + if (loc.equalsIgnoreCase(defaultLocaleStr)) { + notInAvailableLangauges = false; + break; + } } + } catch (MissingResourceException e) { + if (DBG) Log.wtf(TAG, "MissingResourceException", e); + updateEngineStatus(R.string.tts_status_not_supported); + updateWidgetState(false); + return false; } + int defaultAvailable = mTts.setLanguage(mCurrentDefaultLocale); if (defaultAvailable == TextToSpeech.LANG_NOT_SUPPORTED || defaultAvailable == TextToSpeech.LANG_MISSING_DATA || notInAvailableLangauges) { @@ -314,7 +322,6 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements } } - /** * Ask the current default engine to return a string of sample text to be * spoken to the user. @@ -357,16 +364,21 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements private String getDefaultSampleString() { if (mTts != null && mTts.getLanguage() != null) { - final String currentLang = mTts.getLanguage().getISO3Language(); - String[] strings = getActivity().getResources().getStringArray( - R.array.tts_demo_strings); - String[] langs = getActivity().getResources().getStringArray( - R.array.tts_demo_string_langs); - - for (int i = 0; i < strings.length; ++i) { - if (langs[i].equals(currentLang)) { - return strings[i]; + try { + final String currentLang = mTts.getLanguage().getISO3Language(); + String[] strings = getActivity().getResources().getStringArray( + R.array.tts_demo_strings); + String[] langs = getActivity().getResources().getStringArray( + R.array.tts_demo_string_langs); + + for (int i = 0; i < strings.length; ++i) { + if (langs[i].equals(currentLang)) { + return strings[i]; + } } + } catch (MissingResourceException e) { + if (DBG) Log.wtf(TAG, "MissingResourceException", e); + // Ignore and fall back to default sample string } } return getString(R.string.tts_default_sample_string); |