/** * Global method to show a dialog fragment including adding it to back stack and handling the case * where the dialog is shown from an async task, by showing the message in the notification bar if * the activity was stopped before the AsyncTask completed * * @param newFragment the AsyncDialogFragment you want to show */ public void showAsyncDialogFragment(AsyncDialogFragment newFragment) { try { showDialogFragment(newFragment); } catch (IllegalStateException e) { String title = newFragment.getNotificationTitle(); String message = newFragment.getNotificationMessage(); AnkiDroidApp.setStoredDialogHandlerMessage(newFragment.getDialogHandlerMessage()); showSimpleNotification(title, message); } }
@Override protected void onResume() { super.onResume(); ((NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE)) .cancel(SIMPLE_NOTIFICATION_ID); // Show any pending dialogs Message handlerMsg = AnkiDroidApp.getStoredDialogHandlerMessage(); if (handlerMsg != null) { // TODO: Confirm whether or not it's ok to send the message without checking if the collection // is open. mHandler.sendMessage(handlerMsg); AnkiDroidApp.setStoredDialogHandlerMessage(null); } }