private void restoreManagedDialogs(android.os.Bundle savedInstanceState) { android.os.Bundle b = savedInstanceState.getBundle(SAVED_DIALOGS_TAG); if (b == null) { return; } int[] ids = b.getIntArray(SAVED_DIALOG_IDS_KEY); int numDialogs = ids.Length; mManagedDialogs = new android.util.SparseArray<android.app.Activity.ManagedDialog >(numDialogs); { for (int i = 0; i < numDialogs; i++) { int dialogId = ids[i]; android.os.Bundle dialogState = b.getBundle(savedDialogKeyFor(dialogId)); if (dialogState != null) { android.app.Activity.ManagedDialog md = new android.app.Activity.ManagedDialog(); md.mArgs = b.getBundle(savedDialogArgsKeyFor(dialogId)); md.mDialog = createDialog(dialogId, dialogState, md.mArgs); if (md.mDialog != null) { mManagedDialogs.put(dialogId, md); onPrepareDialog(dialogId, md.mDialog, md.mArgs); md.mDialog.onRestoreInstanceState(dialogState); } } } } }
protected internal virtual void onRestoreInstanceState(android.os.Bundle savedInstanceState ) { if (mWindow != null) { android.os.Bundle windowState = savedInstanceState.getBundle(WINDOW_HIERARCHY_TAG ); if (windowState != null) { mWindow.restoreHierarchyState(windowState); } } }