summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/settings/tts/TextToSpeechSettings.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/com/android/settings/tts/TextToSpeechSettings.java b/src/com/android/settings/tts/TextToSpeechSettings.java
index 8417cfd..b16ab56 100644
--- a/src/com/android/settings/tts/TextToSpeechSettings.java
+++ b/src/com/android/settings/tts/TextToSpeechSettings.java
@@ -47,6 +47,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.MissingResourceException;
+import java.util.Objects;
import java.util.Set;
public class TextToSpeechSettings extends SettingsPreferenceFragment implements
@@ -104,7 +105,7 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
private TextToSpeech mTts = null;
private TtsEngines mEnginesHelper = null;
- private String mSampleText = "";
+ private String mSampleText = null;
/**
* Default locale used by selected TTS engine, null if not connected to any engine.
@@ -270,10 +271,14 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
// 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).
+ final Locale oldDefaultLocale = mCurrentDefaultLocale;
mCurrentDefaultLocale = mEnginesHelper.parseLocaleString(defaultLocale.toString());
+ if (!Objects.equals(oldDefaultLocale, mCurrentDefaultLocale)) {
+ mSampleText = null;
+ }
int defaultAvailable = mTts.setLanguage(defaultLocale);
- if (evaluateDefaultLocale()) {
+ if (evaluateDefaultLocale() && mSampleText == null) {
getSampleText();
}
}