@Override @SuppressWarnings("unchecked") public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); LogUtils.logd(TAG, "[onActivityCreated]"); mSession = JRSession.getInstance(); if (savedInstanceState != null) { mManagedDialogs = (HashMap) savedInstanceState.get(KEY_MANAGED_DIALOGS); Parcelable[] p = savedInstanceState.getParcelableArray(KEY_MANAGED_DIALOG_OPTIONS); if (mManagedDialogs != null && p != null) { for (Parcelable p_ : p) { Bundle b = (Bundle) p_; mManagedDialogs.get(b.getInt(KEY_DIALOG_ID)).mOptions = b; } } else { mManagedDialogs = new HashMap<Integer, ManagedDialog>(); } } for (ManagedDialog d : mManagedDialogs.values()) { d.mDialog = onCreateDialog(d.mId, d.mOptions); if (d.mShowing) d.mDialog.show(); } }
/*package*/ ManagedDialog showDialog(int dialogId, Bundle options) { ManagedDialog d = mManagedDialogs.get(dialogId); if (d == null) { d = new ManagedDialog(); d.mDialog = onCreateDialog(dialogId, options); d.mId = dialogId; mManagedDialogs.put(dialogId, d); } d.mOptions = options; onPrepareDialog(dialogId, d.mDialog, options); d.mDialog.show(); // d.mShowing = true; // See also dismissDialog comment return d; }