OSDN Git Service

Remove some unnecessary setLanguage() calls.
authorNarayan Kamath <narayan@google.com>
Tue, 13 Sep 2011 13:38:20 +0000 (14:38 +0100)
committerNarayan Kamath <narayan@google.com>
Tue, 13 Sep 2011 13:38:20 +0000 (14:38 +0100)
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

src/com/android/settings/tts/TextToSpeechSettings.java

index e8255bf..517eade 100644 (file)
@@ -198,9 +198,13 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
                     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);
+                }
             }
         }
     }