| super.onCreate(); | super.onCreate(); | ||||
| } | } | ||||
| @Override | |||||
| public void onDestroy() { | |||||
| super.onDestroy(); | |||||
| if (mBroadcastReceiver != null) { | |||||
| unregisterReceiver(mBroadcastReceiver); | |||||
| } | |||||
| } | |||||
| /** | /** | ||||
| * Sets up the native eSpeak engine. | * Sets up the native eSpeak engine. | ||||
| */ | */ | ||||
| @Override | @Override | ||||
| protected int onIsLanguageAvailable(String language, String country, String variant) { | protected int onIsLanguageAvailable(String language, String country, String variant) { | ||||
| if (!CheckVoiceData.hasBaseResources(this) || CheckVoiceData.canUpgradeResources(this)) { | if (!CheckVoiceData.hasBaseResources(this) || CheckVoiceData.canUpgradeResources(this)) { | ||||
| final IntentFilter filter = new IntentFilter(DownloadVoiceData.BROADCAST_LANGUAGES_UPDATED); | |||||
| registerReceiver(mBroadcastReceiver, filter); | |||||
| if (mBroadcastReceiver == null) { | |||||
| mBroadcastReceiver = new BroadcastReceiver() { | |||||
| @Override | |||||
| public void onReceive(Context context, Intent intent) { | |||||
| initializeTtsEngine(); | |||||
| } | |||||
| }; | |||||
| final IntentFilter filter = new IntentFilter(DownloadVoiceData.BROADCAST_LANGUAGES_UPDATED); | |||||
| registerReceiver(mBroadcastReceiver, filter); | |||||
| } | |||||
| final Intent intent = new Intent(this, DownloadVoiceData.class); | final Intent intent = new Intent(this, DownloadVoiceData.class); | ||||
| intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); | intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); | ||||
| /** | /** | ||||
| * Listens for language update broadcasts and initializes the eSpeak engine. | * Listens for language update broadcasts and initializes the eSpeak engine. | ||||
| */ | */ | ||||
| private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { | |||||
| @Override | |||||
| public void onReceive(Context context, Intent intent) { | |||||
| initializeTtsEngine(); | |||||
| } | |||||
| }; | |||||
| private BroadcastReceiver mBroadcastReceiver = null; | |||||
| } | } |