|
|
@@ -66,6 +66,7 @@ public class TtsService extends TextToSpeechService { |
|
|
|
private Voice mMatchingVoice = null; |
|
|
|
|
|
|
|
private BroadcastReceiver mOnLanguagesDownloaded = null; |
|
|
|
private BroadcastReceiver mOnSystemLocaleChanged = null; |
|
|
|
|
|
|
|
private String mLanguage = DEFAULT_LANGUAGE; |
|
|
|
private String mCountry = DEFAULT_COUNTRY; |
|
|
@@ -75,6 +76,18 @@ public class TtsService extends TextToSpeechService { |
|
|
|
public void onCreate() { |
|
|
|
initializeTtsEngine(); |
|
|
|
super.onCreate(); |
|
|
|
|
|
|
|
mOnSystemLocaleChanged = new BroadcastReceiver() { |
|
|
|
@Override |
|
|
|
public void onReceive(Context context, Intent intent) { |
|
|
|
Locale locale = Locale.getDefault(); |
|
|
|
int ret = onLoadLanguage(locale.getISO3Language(), locale.getISO3Country(), locale.getVariant()); |
|
|
|
Log.i("LocaleChange", "Locale = " + locale + "; status = " + ret); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
final IntentFilter filter = new IntentFilter(Intent.ACTION_LOCALE_CHANGED); |
|
|
|
registerReceiver(mOnSystemLocaleChanged, filter); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@@ -83,6 +96,9 @@ public class TtsService extends TextToSpeechService { |
|
|
|
if (mOnLanguagesDownloaded != null) { |
|
|
|
unregisterReceiver(mOnLanguagesDownloaded); |
|
|
|
} |
|
|
|
if (mOnSystemLocaleChanged != null) { |
|
|
|
unregisterReceiver(mOnSystemLocaleChanged); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@@ -203,7 +219,7 @@ public class TtsService extends TextToSpeechService { |
|
|
|
@Override |
|
|
|
protected synchronized void onSynthesizeText( |
|
|
|
SynthesisRequest request, SynthesisCallback callback) { |
|
|
|
final int result = onLoadLanguage(request.getLanguage(), request.getCountry(), request.getVariant()); |
|
|
|
final int result = onLoadLanguage(mLanguage, mCountry, mVariant); |
|
|
|
switch (result) { |
|
|
|
case TextToSpeech.LANG_MISSING_DATA: |
|
|
|
case TextToSpeech.LANG_NOT_SUPPORTED: |