| private Voice mMatchingVoice = null; | private Voice mMatchingVoice = null; | ||||
| private BroadcastReceiver mOnLanguagesDownloaded = null; | private BroadcastReceiver mOnLanguagesDownloaded = null; | ||||
| private BroadcastReceiver mOnSystemLocaleChanged = null; | |||||
| private String mLanguage = DEFAULT_LANGUAGE; | private String mLanguage = DEFAULT_LANGUAGE; | ||||
| private String mCountry = DEFAULT_COUNTRY; | private String mCountry = DEFAULT_COUNTRY; | ||||
| public void onCreate() { | public void onCreate() { | ||||
| initializeTtsEngine(); | initializeTtsEngine(); | ||||
| super.onCreate(); | 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 | @Override | ||||
| if (mOnLanguagesDownloaded != null) { | if (mOnLanguagesDownloaded != null) { | ||||
| unregisterReceiver(mOnLanguagesDownloaded); | unregisterReceiver(mOnLanguagesDownloaded); | ||||
| } | } | ||||
| if (mOnSystemLocaleChanged != null) { | |||||
| unregisterReceiver(mOnSystemLocaleChanged); | |||||
| } | |||||
| } | } | ||||
| /** | /** |