@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; }
@Override public void onAccept() { super.onAccept(); AccountManager.getInstance() .setPassword(account, storePasswordView.isChecked(), passwordView.getText().toString()); finish(); }
/* 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); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); findViewById(android.R.id.button3).setVisibility(View.GONE); View layout = getLayoutInflater().inflate(R.layout.password_request, null); passwordView = (EditText) layout.findViewById(R.id.account_password); storePasswordView = (CheckBox) layout.findViewById(R.id.store_password); account = getAccount(getIntent()); if (AccountManager.getInstance().getAccount(account) == null) { Application.getInstance().onError(R.string.NO_SUCH_ACCOUNT); finish(); return; } setDialogTitle(AccountManager.getInstance().getVerboseName(account)); setCustomView(layout, true); }