aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyInputParcel.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-05-30 13:25:47 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2015-05-30 13:25:47 +0200
commit0d8370be1d7ae25baa053e681e8739e43120c2cd (patch)
treed3a8aee9159b1f86bdf5d525e4d8b3125ee74c97 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyInputParcel.java
parent36ecd60c1b4c2daaeb9481b2edca07e373da0a70 (diff)
downloadopen-keychain-0d8370be1d7ae25baa053e681e8739e43120c2cd.tar.gz
open-keychain-0d8370be1d7ae25baa053e681e8739e43120c2cd.tar.bz2
open-keychain-0d8370be1d7ae25baa053e681e8739e43120c2cd.zip
rewrite PgpDecryptVerify input, introduce PgpDecryptVerifyInputParcel
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyInputParcel.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyInputParcel.java162
1 files changed, 162 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyInputParcel.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyInputParcel.java
new file mode 100644
index 000000000..a6d65688c
--- /dev/null
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyInputParcel.java
@@ -0,0 +1,162 @@
+/*
+ * Copyright (C) 2015 Dominik Schürmann <dominik@dominikschuermann.de>
+ * Copyright (C) 2014 Vincent Breitmoser <v.breitmoser@mugenguild.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package org.sufficientlysecure.keychain.pgp;
+
+import java.util.HashSet;
+
+import android.net.Uri;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public class PgpDecryptVerifyInputParcel implements Parcelable {
+
+ private Uri mInputUri;
+ private Uri mOutputUri;
+ private byte[] mInputBytes;
+
+ private boolean mAllowSymmetricDecryption;
+ private HashSet<Long> mAllowedKeyIds;
+ private boolean mDecryptMetadataOnly;
+ private byte[] mDetachedSignature;
+ private String mRequiredSignerFingerprint;
+ private boolean mSignedLiteralData;
+
+ public PgpDecryptVerifyInputParcel() {
+ }
+
+ public PgpDecryptVerifyInputParcel(Uri inputUri, Uri outputUri) {
+ mInputUri = inputUri;
+ mOutputUri = outputUri;
+ }
+
+ public PgpDecryptVerifyInputParcel(byte[] inputBytes) {
+ mInputBytes = inputBytes;
+ }
+
+ PgpDecryptVerifyInputParcel(Parcel source) {
+ // we do all of those here, so the PgpSignEncryptInput class doesn't have to be parcelable
+ mInputUri = source.readParcelable(getClass().getClassLoader());
+ mOutputUri = source.readParcelable(getClass().getClassLoader());
+ mInputBytes = source.createByteArray();
+
+ mAllowSymmetricDecryption = source.readInt() != 0;
+ mAllowedKeyIds = (HashSet<Long>) source.readSerializable();
+ mDecryptMetadataOnly = source.readInt() != 0;
+ mDetachedSignature = source.createByteArray();
+ mRequiredSignerFingerprint = source.readString();
+ mSignedLiteralData = source.readInt() != 0;
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeParcelable(mInputUri, 0);
+ dest.writeParcelable(mOutputUri, 0);
+ dest.writeByteArray(mInputBytes);
+
+ dest.writeInt(mAllowSymmetricDecryption ? 1 : 0);
+ dest.writeSerializable(mAllowedKeyIds);
+ dest.writeInt(mDecryptMetadataOnly ? 1 : 0);
+ dest.writeByteArray(mDetachedSignature);
+ dest.writeString(mRequiredSignerFingerprint);
+ dest.writeInt(mSignedLiteralData ? 1 : 0);
+ }
+
+ byte[] getInputBytes() {
+ return mInputBytes;
+ }
+
+ Uri getInputUri() {
+ return mInputUri;
+ }
+
+ Uri getOutputUri() {
+ return mOutputUri;
+ }
+
+ boolean isAllowSymmetricDecryption() {
+ return mAllowSymmetricDecryption;
+ }
+
+ public PgpDecryptVerifyInputParcel setAllowSymmetricDecryption(boolean allowSymmetricDecryption) {
+ mAllowSymmetricDecryption = allowSymmetricDecryption;
+ return this;
+ }
+
+ HashSet<Long> getAllowedKeyIds() {
+ return mAllowedKeyIds;
+ }
+
+ public PgpDecryptVerifyInputParcel setAllowedKeyIds(HashSet<Long> allowedKeyIds) {
+ mAllowedKeyIds = allowedKeyIds;
+ return this;
+ }
+
+ boolean isDecryptMetadataOnly() {
+ return mDecryptMetadataOnly;
+ }
+
+ public PgpDecryptVerifyInputParcel setDecryptMetadataOnly(boolean decryptMetadataOnly) {
+ mDecryptMetadataOnly = decryptMetadataOnly;
+ return this;
+ }
+
+ byte[] getDetachedSignature() {
+ return mDetachedSignature;
+ }
+
+ public PgpDecryptVerifyInputParcel setDetachedSignature(byte[] detachedSignature) {
+ mDetachedSignature = detachedSignature;
+ return this;
+ }
+
+ String getRequiredSignerFingerprint() {
+ return mRequiredSignerFingerprint;
+ }
+
+ public PgpDecryptVerifyInputParcel setRequiredSignerFingerprint(String requiredSignerFingerprint) {
+ mRequiredSignerFingerprint = requiredSignerFingerprint;
+ return this;
+ }
+
+ boolean isSignedLiteralData() {
+ return mSignedLiteralData;
+ }
+
+ public PgpDecryptVerifyInputParcel setSignedLiteralData(boolean signedLiteralData) {
+ mSignedLiteralData = signedLiteralData;
+ return this;
+ }
+
+ public static final Creator<PgpDecryptVerifyInputParcel> CREATOR = new Creator<PgpDecryptVerifyInputParcel>() {
+ public PgpDecryptVerifyInputParcel createFromParcel(final Parcel source) {
+ return new PgpDecryptVerifyInputParcel(source);
+ }
+
+ public PgpDecryptVerifyInputParcel[] newArray(final int size) {
+ return new PgpDecryptVerifyInputParcel[size];
+ }
+ };
+
+}
+