Remove some unnecessary setLanguage() calls.
This prevents QUEUE_FLUSH from working as intented since
there is a (blocking) setLanguage() call that waits for
the previous synthesis to complete before flushing the queue.
bug:5288327
Change-Id: I00467f0ac1584863ae27bfc076b8413e29e5379b
diff --git a/src/com/android/settings/tts/TextToSpeechSettings.java b/src/com/android/settings/tts/TextToSpeechSettings.java
index e8255bf..517eade 100644
--- a/src/com/android/settings/tts/TextToSpeechSettings.java
+++ b/src/com/android/settings/tts/TextToSpeechSettings.java
@@ -198,9 +198,13 @@
currentEngine);
if (localeString != null) {
final String[] locale = TtsEngines.parseLocalePref(localeString);
+ final Locale newLocale = new Locale(locale[0], locale[1], locale[2]);
+ final Locale engineLocale = mTts.getLanguage();
- if (DBG) Log.d(TAG, "Loading language ahead of sample check : " + locale);
- mTts.setLanguage(new Locale(locale[0], locale[1], locale[2]));
+ if (!newLocale.equals(engineLocale)) {
+ if (DBG) Log.d(TAG, "Loading language ahead of sample check : " + locale);
+ mTts.setLanguage(newLocale);
+ }
}
}
}