private void saveManagedDialogs(android.os.Bundle outState) { if (mManagedDialogs == null) { return; } int numDialogs = mManagedDialogs.size(); if (numDialogs == 0) { return; } android.os.Bundle dialogState = new android.os.Bundle(); int[] ids = new int[mManagedDialogs.size()]; { for (int i = 0; i < numDialogs; i++) { int key = mManagedDialogs.keyAt(i); ids[i] = key; android.app.Activity.ManagedDialog md = mManagedDialogs.valueAt(i); dialogState.putBundle(savedDialogKeyFor(key), md.mDialog.onSaveInstanceState()); if (md.mArgs != null) { dialogState.putBundle(savedDialogArgsKeyFor(key), md.mArgs); } } } dialogState.putIntArray(SAVED_DIALOG_IDS_KEY, ids); outState.putBundle(SAVED_DIALOGS_TAG, dialogState); }
protected internal virtual void onSaveInstanceState(android.os.Bundle outState) { outState.putBundle(WINDOW_HIERARCHY_TAG, mWindow.saveHierarchyState()); android.os.Parcelable p = mFragments.saveAllState(); if (p != null) { outState.putParcelable(FRAGMENTS_TAG, p); } getApplication().dispatchActivitySaveInstanceState(this, outState); }