/* May be called at any time before onDestroy() */ @Override public void onSaveInstanceState(Bundle outState) { Bundle[] dialogOptions = new Bundle[mManagedDialogs.size()]; int x = 0; for (ManagedDialog d : mManagedDialogs.values()) { d.mShowing = d.mDialog.isShowing(); dialogOptions[x++] = d.mOptions; d.mOptions.putInt(KEY_DIALOG_ID, d.mId); } outState.putSerializable(KEY_MANAGED_DIALOGS, mManagedDialogs); outState.putParcelableArray(KEY_MANAGED_DIALOG_OPTIONS, dialogOptions); if (mCustomInterfaceConfiguration != null) { mCustomInterfaceConfiguration.onSaveInstanceState(outState); } super.onSaveInstanceState(outState); }