diff options
author | Vincent Breitmoser <valodim@mugenguild.com> | 2015-04-24 14:18:01 +0200 |
---|---|---|
committer | Vincent Breitmoser <valodim@mugenguild.com> | 2015-04-24 14:18:01 +0200 |
commit | b4aec3114d9911cf9aef0d14ee697e5131b2853f (patch) | |
tree | 7237de5955ec34d8849737b2f9229bfbb37d0c45 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/linked | |
parent | c2163460971cc01e65d7dfd18eec491f01ebc744 (diff) | |
parent | baac30508d24dcda6135bf8ae338c99d8c3b8ad8 (diff) | |
download | open-keychain-b4aec3114d9911cf9aef0d14ee697e5131b2853f.tar.gz open-keychain-b4aec3114d9911cf9aef0d14ee697e5131b2853f.tar.bz2 open-keychain-b4aec3114d9911cf9aef0d14ee697e5131b2853f.zip |
Merge branch 'development' into linked-identities
Conflicts:
Graphics/update-drawables.sh
OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/operations/CertifyOperationTest.java
OpenKeychain/build.gradle
OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/CertifyActionsParcel.java
OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java
OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java
OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/linked')
2 files changed, 25 insertions, 24 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/linked/LinkedIdCreateFinalFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/linked/LinkedIdCreateFinalFragment.java index ac7dff9bd..0767aabd2 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/linked/LinkedIdCreateFinalFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/linked/LinkedIdCreateFinalFragment.java @@ -27,6 +27,7 @@ import org.sufficientlysecure.keychain.pgp.linked.LinkedIdentity; import org.sufficientlysecure.keychain.service.KeychainIntentService; import org.sufficientlysecure.keychain.service.SaveKeyringParcel; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; +import org.sufficientlysecure.keychain.service.input.CryptoInputParcel; import org.sufficientlysecure.keychain.ui.PassphraseDialogActivity; import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment.ServiceType; import org.sufficientlysecure.keychain.ui.util.Notify; @@ -186,7 +187,7 @@ public abstract class LinkedIdCreateFinalFragment extends Fragment { } - private void certifyLinkedIdentity (Passphrase passphrase) { + private void certifyLinkedIdentity (CryptoInputParcel cryptoInput) { ServiceProgressHandler saveHandler = new ServiceProgressHandler( getActivity(), getString(R.string.progress_saving), @@ -235,7 +236,7 @@ public abstract class LinkedIdCreateFinalFragment extends Fragment { // fill values for this action Bundle data = new Bundle(); - data.putParcelable(KeychainIntentService.EDIT_KEYRING_PASSPHRASE, passphrase); + data.putParcelable(KeychainIntentService.EXTRA_CRYPTO_INPUT, cryptoInput); data.putParcelable(KeychainIntentService.EDIT_KEYRING_PARCEL, skp); intent.putExtra(KeychainIntentService.EXTRA_DATA, data); @@ -257,9 +258,9 @@ public abstract class LinkedIdCreateFinalFragment extends Fragment { switch (requestCode) { case REQUEST_CODE_PASSPHRASE: if (resultCode == Activity.RESULT_OK && data != null) { - Passphrase passphrase = - data.getParcelableExtra(PassphraseDialogActivity.MESSAGE_DATA_PASSPHRASE); - certifyLinkedIdentity(passphrase); + CryptoInputParcel cryptoInput = + data.getParcelableExtra(PassphraseDialogActivity.RESULT_CRYPTO_INPUT); + certifyLinkedIdentity(cryptoInput); } break; default: diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/linked/LinkedIdViewFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/linked/LinkedIdViewFragment.java index 0ef63f724..1944146dd 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/linked/LinkedIdViewFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/linked/LinkedIdViewFragment.java @@ -1,7 +1,7 @@ package org.sufficientlysecure.keychain.ui.linked; import java.io.IOException; -import java.util.Arrays; +import java.util.Collections; import android.animation.ObjectAnimator; import android.app.Activity; @@ -47,6 +47,7 @@ import org.sufficientlysecure.keychain.service.CertifyActionsParcel.CertifyActio import org.sufficientlysecure.keychain.service.KeychainIntentService; import org.sufficientlysecure.keychain.service.PassphraseCacheService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; +import org.sufficientlysecure.keychain.service.input.CryptoInputParcel; import org.sufficientlysecure.keychain.ui.PassphraseDialogActivity; import org.sufficientlysecure.keychain.ui.adapter.LinkedIdsAdapter; import org.sufficientlysecure.keychain.ui.adapter.UserIdsAdapter; @@ -86,6 +87,7 @@ public class LinkedIdViewFragment extends Fragment implements private ViewHolder mViewHolder; private int mLidRank; private OnIdentityLoadedListener mIdLoadedListener; + private long mCertifyKeyId; public static LinkedIdViewFragment newInstance(Uri dataUri, int rank, boolean isSecret, byte[] fingerprint) throws IOException { @@ -183,7 +185,7 @@ public class LinkedIdViewFragment extends Fragment implements } public interface OnIdentityLoadedListener { - public void onIdentityLoaded(); + void onIdentityLoaded(); } public void setOnIdentityLoadedListener(OnIdentityLoadedListener listener) { @@ -500,8 +502,8 @@ public class LinkedIdViewFragment extends Fragment implements } // get the user's passphrase for this key (if required) - long certifyKeyId = mViewHolder.vKeySpinner.getSelectedItemId(); - if (certifyKeyId == key.none || certifyKeyId == key.symmetric) { + mCertifyKeyId = mViewHolder.vKeySpinner.getSelectedItemId(); + if (mCertifyKeyId == key.none || mCertifyKeyId == key.symmetric) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { SubtleAttentionSeeker.tint(mViewHolder.vKeySpinnerContainer, 600).start(); } else { @@ -513,7 +515,7 @@ public class LinkedIdViewFragment extends Fragment implements Passphrase passphrase; try { passphrase = PassphraseCacheService.getCachedPassphrase( - getActivity(), certifyKeyId, certifyKeyId); + getActivity(), mCertifyKeyId, mCertifyKeyId); } catch (PassphraseCacheService.KeyNotFoundException e) { Log.e(Constants.TAG, "Key not found!", e); getActivity().finish(); @@ -521,11 +523,11 @@ public class LinkedIdViewFragment extends Fragment implements } if (passphrase == null) { Intent intent = new Intent(getActivity(), PassphraseDialogActivity.class); - intent.putExtra(PassphraseDialogActivity.EXTRA_SUBKEY_ID, certifyKeyId); + intent.putExtra(PassphraseDialogActivity.EXTRA_SUBKEY_ID, mCertifyKeyId); startActivityForResult(intent, REQUEST_CODE_PASSPHRASE); // bail out; need to wait until the user has entered the passphrase before trying again } else { - certifyResource(certifyKeyId, ""); + certifyResource(new CryptoInputParcel()); } } @@ -534,13 +536,9 @@ public class LinkedIdViewFragment extends Fragment implements switch (requestCode) { case REQUEST_CODE_PASSPHRASE: { if (resultCode == Activity.RESULT_OK && data != null) { - String passphrase = data.getStringExtra( - PassphraseDialogActivity.MESSAGE_DATA_PASSPHRASE); - long certifyKeyId = data.getLongExtra(PassphraseDialogActivity.EXTRA_KEY_ID, 0L); - if (certifyKeyId == 0L) { - throw new AssertionError("key id must not be 0"); - } - certifyResource(certifyKeyId, passphrase); + CryptoInputParcel cryptoInput = data.getParcelableExtra( + PassphraseDialogActivity.RESULT_CRYPTO_INPUT); + certifyResource(cryptoInput); } return; } @@ -551,7 +549,7 @@ public class LinkedIdViewFragment extends Fragment implements } } - private void certifyResource(long certifyKeyId, String passphrase) { + private void certifyResource(CryptoInputParcel cryptoInput) { if (mIsSecret) { return; @@ -564,13 +562,15 @@ public class LinkedIdViewFragment extends Fragment implements long masterKeyId = KeyFormattingUtils.convertFingerprintToKeyId(mFingerprint); CertifyAction action = new CertifyAction(masterKeyId, null, - Arrays.asList(mLinkedId.toUserAttribute())); + Collections.singletonList(mLinkedId.toUserAttribute())); // fill values for this action - CertifyActionsParcel parcel = new CertifyActionsParcel(certifyKeyId); - parcel.mCertifyActions.addAll(Arrays.asList(action)); - + CertifyActionsParcel parcel = new CertifyActionsParcel(mCertifyKeyId); + parcel.mCertifyActions.addAll(Collections.singletonList(action)); data.putParcelable(KeychainIntentService.CERTIFY_PARCEL, parcel); + + data.putParcelable(KeychainIntentService.EXTRA_CRYPTO_INPUT, cryptoInput); + /* if (mUploadKeyCheckbox.isChecked()) { String keyserver = Preferences.getPreferences(getActivity()).getPreferredKeyserver(); data.putString(KeychainIntentService.UPLOAD_KEY_SERVER, keyserver); |