diff options
author | Joey Castillo <jose.castillo@gmail.com> | 2015-05-13 06:01:42 -0400 |
---|---|---|
committer | Joey Castillo <jose.castillo@gmail.com> | 2015-05-13 14:36:34 -0400 |
commit | 28b9068ae03b6c17b247a1d2fdf9b20d8a11a274 (patch) | |
tree | 821b50d623d5aea38c17bf396cf281b8ef217bf1 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java | |
parent | d21fb7733697a8f947604dbd1d6c608f5b2a21d5 (diff) | |
download | open-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.java | 19 |
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; |