aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-03-21 15:16:32 +0100
committerVincent Breitmoser <valodim@mugenguild.com>2015-03-21 15:16:32 +0100
commit93c7eb72fbbf93938043566dfc1707b6714f325b (patch)
tree679641622d8149cd1333e523d63cdc402f5cc333 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java
parent88ca41d55586e5084cc3f177eb12617aa640ae1d (diff)
downloadopen-keychain-93c7eb72fbbf93938043566dfc1707b6714f325b.tar.gz
open-keychain-93c7eb72fbbf93938043566dfc1707b6714f325b.tar.bz2
open-keychain-93c7eb72fbbf93938043566dfc1707b6714f325b.zip
more data in RequiredInputParcel, OperationResult notifications
- pass both masterkeyid and subkeyid though RequiredInputParcel parcel - fix numeric vales in OperationResult.createNotify()
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java39
1 files changed, 30 insertions, 9 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java
index 3d91812eb..d8d87114e 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java
@@ -18,19 +18,20 @@ public class RequiredInputParcel implements Parcelable {
public final RequiredInputType mType;
- public String mNfcPin = "123456";
public final byte[][] mInputHashes;
public final int[] mSignAlgos;
+ private Long mMasterKeyId;
private Long mSubKeyId;
private RequiredInputParcel(RequiredInputType type, byte[][] inputHashes,
- int[] signAlgos, Date signatureTime, Long keyId) {
+ int[] signAlgos, Date signatureTime, Long masterKeyId, Long subKeyId) {
mType = type;
mInputHashes = inputHashes;
mSignAlgos = signAlgos;
mSignatureTime = signatureTime;
- mSubKeyId = keyId;
+ mMasterKeyId = masterKeyId;
+ mSubKeyId = subKeyId;
}
public RequiredInputParcel(Parcel source) {
@@ -50,6 +51,7 @@ public class RequiredInputParcel implements Parcelable {
}
mSignatureTime = source.readInt() != 0 ? new Date(source.readLong()) : null;
+ mMasterKeyId = source.readInt() != 0 ? source.readLong() : null;
mSubKeyId = source.readInt() != 0 ? source.readLong() : null;
}
@@ -61,19 +63,28 @@ public class RequiredInputParcel implements Parcelable {
public static RequiredInputParcel createNfcSignOperation(
byte[] inputHash, int signAlgo, Date signatureTime) {
return new RequiredInputParcel(RequiredInputType.NFC_SIGN,
- new byte[][] { inputHash }, new int[] { signAlgo }, signatureTime, null);
+ new byte[][] { inputHash }, new int[] { signAlgo },
+ signatureTime, null, null);
}
public static RequiredInputParcel createNfcDecryptOperation(byte[] inputHash) {
return new RequiredInputParcel(RequiredInputType.NFC_DECRYPT,
- new byte[][] { inputHash }, null, null, null);
+ new byte[][] { inputHash }, null, null, null, null);
}
- public static RequiredInputParcel createRequiredPassphrase(long keyId, Date signatureTime) {
+ public static RequiredInputParcel createRequiredPassphrase(
+ long masterKeyId, long subKeyId, Date signatureTime) {
return new RequiredInputParcel(RequiredInputType.PASSPHRASE,
- null, null, signatureTime, keyId);
+ null, null, signatureTime, masterKeyId, subKeyId);
}
+ public static RequiredInputParcel createRequiredPassphrase(
+ RequiredInputParcel req) {
+ return new RequiredInputParcel(RequiredInputType.PASSPHRASE,
+ null, null, req.mSignatureTime, req.mMasterKeyId, req.mSubKeyId);
+ }
+
+
@Override
public int describeContents() {
return 0;
@@ -98,6 +109,12 @@ public class RequiredInputParcel implements Parcelable {
} else {
dest.writeInt(0);
}
+ if (mMasterKeyId != null) {
+ dest.writeInt(1);
+ dest.writeLong(mMasterKeyId);
+ } else {
+ dest.writeInt(0);
+ }
if (mSubKeyId != null) {
dest.writeInt(1);
dest.writeLong(mSubKeyId);
@@ -121,9 +138,13 @@ public class RequiredInputParcel implements Parcelable {
Date mSignatureTime;
ArrayList<Integer> mSignAlgos = new ArrayList<>();
ArrayList<byte[]> mInputHashes = new ArrayList<>();
+ long mMasterKeyId;
+ long mSubKeyId;
- public NfcSignOperationsBuilder(Date signatureTime) {
+ public NfcSignOperationsBuilder(Date signatureTime, long masterKeyId, long subKeyId) {
mSignatureTime = signatureTime;
+ mMasterKeyId = masterKeyId;
+ mSubKeyId = subKeyId;
}
public RequiredInputParcel build() {
@@ -135,7 +156,7 @@ public class RequiredInputParcel implements Parcelable {
}
return new RequiredInputParcel(RequiredInputType.NFC_SIGN,
- inputHashes, signAlgos, mSignatureTime, null);
+ inputHashes, signAlgos, mSignatureTime, mMasterKeyId, mSubKeyId);
}
public void addHash(byte[] hash, int algo) {