aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java
diff options
context:
space:
mode:
authorJoey Castillo <jose.castillo@gmail.com>2015-05-13 06:01:42 -0400
committerJoey Castillo <jose.castillo@gmail.com>2015-05-13 14:36:34 -0400
commit28b9068ae03b6c17b247a1d2fdf9b20d8a11a274 (patch)
tree821b50d623d5aea38c17bf396cf281b8ef217bf1 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java
parentd21fb7733697a8f947604dbd1d6c608f5b2a21d5 (diff)
downloadopen-keychain-28b9068ae03b6c17b247a1d2fdf9b20d8a11a274.tar.gz
open-keychain-28b9068ae03b6c17b247a1d2fdf9b20d8a11a274.tar.bz2
open-keychain-28b9068ae03b6c17b247a1d2fdf9b20d8a11a274.zip
Adding keytocard flag to SubkeyChange: UI sets this flag to initiate keytocard; operation unsets it and fills in dummyDivert to finish it.
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java
index 6064c28fb..dd6697f21 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java
@@ -95,8 +95,8 @@ public class SaveKeyringParcel implements Parcelable {
}
for (SubkeyChange change : mChangeSubKeys) {
- if (change.mRecertify || change.mFlags != null || change.mExpiry != null ||
- (change.mDummyDivert != null && change.mDummyDivert.length == 0)) {
+ if (change.mRecertify || change.mFlags != null || change.mExpiry != null
+ || change.mMoveKeyToCard) {
return false;
}
}
@@ -143,6 +143,8 @@ public class SaveKeyringParcel implements Parcelable {
public boolean mRecertify;
// if this flag is true, the subkey should be changed to a stripped key
public boolean mDummyStrip;
+ // if this flag is true, the subkey should be moved to a card
+ public boolean mMoveKeyToCard;
// if this is non-null, the subkey will be changed to a divert-to-card
// key for the given serial number
public byte[] mDummyDivert;
@@ -174,12 +176,25 @@ public class SaveKeyringParcel implements Parcelable {
mDummyDivert = dummyDivert;
}
+ public SubkeyChange(long keyId, boolean dummyStrip, boolean moveKeyToCard) {
+ this(keyId, null, null);
+
+ // these flags are mutually exclusive!
+ if (dummyStrip && moveKeyToCard) {
+ throw new AssertionError(
+ "cannot set strip and keytocard flags at the same time - this is a bug!");
+ }
+ mDummyStrip = dummyStrip;
+ mMoveKeyToCard = moveKeyToCard;
+ }
+
@Override
public String toString() {
String out = "mKeyId: " + mKeyId + ", ";
out += "mFlags: " + mFlags + ", ";
out += "mExpiry: " + mExpiry + ", ";
out += "mDummyStrip: " + mDummyStrip + ", ";
+ out += "mMoveKeyToCard: " + mMoveKeyToCard + ", ";
out += "mDummyDivert: [" + (mDummyDivert == null ? 0 : mDummyDivert.length) + " bytes]";
return out;