@Override public CertifyActionsParcel createOperationInput() { // Bail out if there is not at least one user id selected ArrayList<CertifyAction> certifyActions = mUserIdsAdapter.getSelectedCertifyActions(); if (certifyActions.isEmpty()) { Notify.create(getActivity(), "No identities selected!", Notify.Style.ERROR).show(); return null; } long selectedKeyId = mCertifyKeySpinner.getSelectedKeyId(); // fill values for this action CertifyActionsParcel actionsParcel = new CertifyActionsParcel(selectedKeyId); actionsParcel.mCertifyActions.addAll(certifyActions); if (mUploadKeyCheckbox.isChecked()) { actionsParcel.keyServerUri = Preferences.getPreferences(getActivity()).getPreferredKeyserver(); } // cached for next cryptoOperation loop cacheActionsParcel(actionsParcel); return actionsParcel; }
@Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); mPubMasterKeyIds = getActivity().getIntent().getLongArrayExtra(CertifyKeyActivity.EXTRA_KEY_IDS); if (mPubMasterKeyIds == null) { Log.e(Constants.TAG, "List of key ids to certify missing!"); getActivity().finish(); return; } ArrayList<Boolean> checkedStates; if (savedInstanceState != null) { checkedStates = (ArrayList<Boolean>) savedInstanceState.getSerializable(ARG_CHECK_STATES); // key spinner and the checkbox keep their own state } else { checkedStates = null; // preselect certify key id if given long certifyKeyId = getActivity() .getIntent() .getLongExtra(CertifyKeyActivity.EXTRA_CERTIFY_KEY_ID, Constants.key.none); if (certifyKeyId != Constants.key.none) { try { CachedPublicKeyRing key = (new ProviderHelper(getActivity())).getCachedPublicKeyRing(certifyKeyId); if (key.canCertify()) { mCertifyKeySpinner.setPreSelectedKeyId(certifyKeyId); } } catch (PgpKeyNotFoundException e) { Log.e(Constants.TAG, "certify certify check failed", e); } } } mUserIdsAdapter = new MultiUserIdsAdapter(getActivity(), null, 0, checkedStates); mUserIds.setAdapter(mUserIdsAdapter); mUserIds.setDividerHeight(0); getLoaderManager().initLoader(0, null, this); OperationResult result = getActivity().getIntent().getParcelableExtra(CertifyKeyActivity.EXTRA_RESULT); if (result != null) { // display result from import result.createNotify(getActivity()).show(); } }