aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/CryptoInputParcel.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-03-19 14:21:30 +0100
committerVincent Breitmoser <valodim@mugenguild.com>2015-03-19 14:21:30 +0100
commit25d89b5550b7fd699988954b07cad61bee9a8ba5 (patch)
treed114457d5678247f3f31dfbedc1faabfe409588a /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/CryptoInputParcel.java
parentd46fc3740bbfc3bac0b1133a3e9d47c7ce3e06e2 (diff)
downloadopen-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.java19
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);