diff options
author | Vincent Breitmoser <valodim@mugenguild.com> | 2015-09-16 01:34:21 +0200 |
---|---|---|
committer | Vincent Breitmoser <valodim@mugenguild.com> | 2015-09-16 01:34:21 +0200 |
commit | 0ed0ba88f9ce4647f77a823fdf218ce53b175c48 (patch) | |
tree | e220ec50749467fcff7d9183daa5dce87464cc78 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results | |
parent | 96865ccbaaeaefe6af6b90ed664d1390a32417ad (diff) | |
download | open-keychain-0ed0ba88f9ce4647f77a823fdf218ce53b175c48.tar.gz open-keychain-0ed0ba88f9ce4647f77a823fdf218ce53b175c48.tar.bz2 open-keychain-0ed0ba88f9ce4647f77a823fdf218ce53b175c48.zip |
mime: return one OpenPgpMetadata object per body part
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/InputDataResult.java | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/InputDataResult.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/InputDataResult.java index e3432e637..0e4bddb4c 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/InputDataResult.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/InputDataResult.java @@ -17,38 +17,52 @@ package org.sufficientlysecure.keychain.operations.results; + +import java.util.ArrayList; + import android.net.Uri; import android.os.Parcel; +import android.support.annotation.NonNull; + +import org.openintents.openpgp.OpenPgpMetadata; -import java.util.ArrayList; public class InputDataResult extends InputPendingResult { public final ArrayList<Uri> mOutputUris; final public DecryptVerifyResult mDecryptVerifyResult; + public final ArrayList<OpenPgpMetadata> mMetadata; - public InputDataResult(OperationLog log, InputPendingResult result) { + public InputDataResult(OperationLog log, @NonNull InputPendingResult result) { super(log, result); mOutputUris = null; mDecryptVerifyResult = null; - } - - public InputDataResult(int result, OperationLog log, DecryptVerifyResult decryptResult, ArrayList<Uri> temporaryUris) { - super(result, log); - mOutputUris = temporaryUris; - mDecryptVerifyResult = decryptResult; + mMetadata = null; } public InputDataResult(int result, OperationLog log) { super(result, log); mOutputUris = null; mDecryptVerifyResult = null; + mMetadata = null; + } + + public InputDataResult(int result, OperationLog log, DecryptVerifyResult decryptResult, + @NonNull ArrayList<Uri> outputUris, @NonNull ArrayList<OpenPgpMetadata> metadata) { + super(result, log); + mDecryptVerifyResult = decryptResult; + if (outputUris.size() == metadata.size()) { + throw new AssertionError("number of output URIs must match metadata!"); + } + mOutputUris = outputUris; + mMetadata = metadata; } protected InputDataResult(Parcel in) { super(in); mOutputUris = in.createTypedArrayList(Uri.CREATOR); mDecryptVerifyResult = in.readParcelable(DecryptVerifyResult.class.getClassLoader()); + mMetadata = in.createTypedArrayList(OpenPgpMetadata.CREATOR); } public ArrayList<Uri> getOutputUris() { @@ -65,6 +79,7 @@ public class InputDataResult extends InputPendingResult { super.writeToParcel(dest, flags); dest.writeTypedList(mOutputUris); dest.writeParcelable(mDecryptVerifyResult, 0); + dest.writeTypedList(mMetadata); } public static final Creator<InputDataResult> CREATOR = new Creator<InputDataResult>() { |