diff options
author | Vincent Breitmoser <valodim@mugenguild.com> | 2015-03-19 14:21:30 +0100 |
---|---|---|
committer | Vincent Breitmoser <valodim@mugenguild.com> | 2015-03-19 14:21:30 +0100 |
commit | 25d89b5550b7fd699988954b07cad61bee9a8ba5 (patch) | |
tree | d114457d5678247f3f31dfbedc1faabfe409588a /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/CryptoInputParcel.java | |
parent | d46fc3740bbfc3bac0b1133a3e9d47c7ce3e06e2 (diff) | |
download | open-keychain-25d89b5550b7fd699988954b07cad61bee9a8ba5.tar.gz open-keychain-25d89b5550b7fd699988954b07cad61bee9a8ba5.tar.bz2 open-keychain-25d89b5550b7fd699988954b07cad61bee9a8ba5.zip |
generalize NfcOperationParcel to RequiredInputParcel, including passphrases
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/CryptoInputParcel.java')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/CryptoInputParcel.java | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/CryptoInputParcel.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/CryptoInputParcel.java index e02eda4b3..7cc5069c8 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/CryptoInputParcel.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/CryptoInputParcel.java @@ -15,18 +15,26 @@ import android.os.Parcelable; */ public class CryptoInputParcel implements Parcelable { - Date mSignatureTime; + final Date mSignatureTime; + final String mPassphrase; // this map contains both decrypted session keys and signed hashes to be // used in the crypto operation described by this parcel. private HashMap<ByteBuffer,byte[]> mCryptoData = new HashMap<>(); + public CryptoInputParcel(Date signatureTime, String passphrase) { + mSignatureTime = signatureTime == null ? new Date() : signatureTime; + mPassphrase = passphrase; + } + public CryptoInputParcel(Date signatureTime) { mSignatureTime = signatureTime == null ? new Date() : signatureTime; + mPassphrase = null; } protected CryptoInputParcel(Parcel source) { mSignatureTime = new Date(source.readLong()); + mPassphrase = source.readString(); { int count = source.readInt(); @@ -48,6 +56,7 @@ public class CryptoInputParcel implements Parcelable { @Override public void writeToParcel(Parcel dest, int flags) { dest.writeLong(mSignatureTime.getTime()); + dest.writeString(mPassphrase); dest.writeInt(mCryptoData.size()); for (HashMap.Entry<ByteBuffer,byte[]> entry : mCryptoData.entrySet()) { @@ -68,6 +77,14 @@ public class CryptoInputParcel implements Parcelable { return mSignatureTime; } + public boolean hasPassphrase() { + return mPassphrase != null; + } + + public String getPassphrase() { + return mPassphrase; + } + public static final Creator<CryptoInputParcel> CREATOR = new Creator<CryptoInputParcel>() { public CryptoInputParcel createFromParcel(final Parcel source) { return new CryptoInputParcel(source); |