aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2014-10-13 15:02:42 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2014-10-13 15:02:42 +0200
commitee4d911baf39fe242a90e12163d9853728479a35 (patch)
tree33595519e6e96b1f48d204cf38affe0477283a75 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java
parente5c7d8dcd1f441511f8f43cac9e764a8bd3a0668 (diff)
downloadopen-keychain-ee4d911baf39fe242a90e12163d9853728479a35.tar.gz
open-keychain-ee4d911baf39fe242a90e12163d9853728479a35.tar.bz2
open-keychain-ee4d911baf39fe242a90e12163d9853728479a35.zip
make PgpEncryptSign and PgpDecryptVerify subclasses of BaseOperation
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java39
1 files changed, 12 insertions, 27 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java
index 383592356..7af7becb6 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java
@@ -18,6 +18,7 @@
package org.sufficientlysecure.keychain.pgp;
+import android.content.Context;
import android.webkit.MimeTypeMap;
import org.openintents.openpgp.OpenPgpMetadata;
@@ -45,6 +46,7 @@ import org.spongycastle.openpgp.operator.jcajce.JcePBEDataDecryptorFactoryBuilde
import org.spongycastle.openpgp.operator.jcajce.NfcSyncPublicKeyDataDecryptorFactoryBuilder;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
+import org.sufficientlysecure.keychain.operations.BaseOperation;
import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralException;
import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings;
import org.sufficientlysecure.keychain.provider.ProviderHelper;
@@ -71,13 +73,11 @@ import java.util.Set;
/**
* This class uses a Builder pattern!
*/
-public class PgpDecryptVerify {
- private ProviderHelper mProviderHelper;
- private PassphraseCacheInterface mPassphraseCache;
+public class PgpDecryptVerify extends BaseOperation {
+
private InputData mData;
private OutputStream mOutStream;
- private Progressable mProgressable;
private boolean mAllowSymmetricDecryption;
private String mPassphrase;
private Set<Long> mAllowedKeyIds;
@@ -85,13 +85,12 @@ public class PgpDecryptVerify {
private byte[] mDecryptedSessionKey;
private PgpDecryptVerify(Builder builder) {
+ super(builder.mContext, builder.mProviderHelper, builder.mProgressable);
+
// private Constructor can only be called from Builder
- this.mProviderHelper = builder.mProviderHelper;
- this.mPassphraseCache = builder.mPassphraseCache;
this.mData = builder.mData;
this.mOutStream = builder.mOutStream;
- this.mProgressable = builder.mProgressable;
this.mAllowSymmetricDecryption = builder.mAllowSymmetricDecryption;
this.mPassphrase = builder.mPassphrase;
this.mAllowedKeyIds = builder.mAllowedKeyIds;
@@ -101,6 +100,7 @@ public class PgpDecryptVerify {
public static class Builder {
// mandatory parameter
+ private Context mContext;
private ProviderHelper mProviderHelper;
private PassphraseCacheInterface mPassphraseCache;
private InputData mData;
@@ -114,19 +114,16 @@ public class PgpDecryptVerify {
private boolean mDecryptMetadataOnly = false;
private byte[] mDecryptedSessionKey = null;
- public Builder(ProviderHelper providerHelper, PassphraseCacheInterface passphraseCache,
+ public Builder(Context context, ProviderHelper providerHelper,
+ Progressable progressable,
InputData data, OutputStream outStream) {
+ mContext = context;
mProviderHelper = providerHelper;
- mPassphraseCache = passphraseCache;
+ mProgressable = progressable;
mData = data;
mOutStream = outStream;
}
- public Builder setProgressable(Progressable progressable) {
- mProgressable = progressable;
- return this;
- }
-
public Builder setAllowSymmetricDecryption(boolean allowSymmetricDecryption) {
mAllowSymmetricDecryption = allowSymmetricDecryption;
return this;
@@ -165,18 +162,6 @@ public class PgpDecryptVerify {
}
}
- public void updateProgress(int message, int current, int total) {
- if (mProgressable != null) {
- mProgressable.setProgress(message, current, total);
- }
- }
-
- public void updateProgress(int current, int total) {
- if (mProgressable != null) {
- mProgressable.setProgress(current, total);
- }
- }
-
/**
* Decrypts and/or verifies data based on parameters of class
*/
@@ -313,7 +298,7 @@ public class PgpDecryptVerify {
if (mPassphrase == null) {
try {
// returns "" if key has no passphrase
- mPassphrase = mPassphraseCache.getCachedPassphrase(subKeyId);
+ mPassphrase = getCachedPassphrase(subKeyId);
log.add(LogType.MSG_DC_PASS_CACHED, indent +1);
} catch (PassphraseCacheInterface.NoSecretKeyException e) {
log.add(LogType.MSG_DC_ERROR_NO_KEY, indent +1);