diff options
| author | Vincent Breitmoser <valodim@mugenguild.com> | 2014-09-14 00:43:07 +0200 | 
|---|---|---|
| committer | Vincent Breitmoser <valodim@mugenguild.com> | 2014-09-14 00:43:07 +0200 | 
| commit | 760b05273c99dec72a4d0af525d101955f8f2234 (patch) | |
| tree | dd6ae137c13fa04df5fb831c26eae27ceb474eef | |
| parent | f0e159a372174db4d0939f8f747a05b62d9b068d (diff) | |
| download | open-keychain-760b05273c99dec72a4d0af525d101955f8f2234.tar.gz open-keychain-760b05273c99dec72a4d0af525d101955f8f2234.tar.bz2 open-keychain-760b05273c99dec72a4d0af525d101955f8f2234.zip  | |
(forgot a file for previous commit)
| -rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/SignEncryptResult.java | 103 | 
1 files changed, 103 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/SignEncryptResult.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/SignEncryptResult.java new file mode 100644 index 000000000..073eab354 --- /dev/null +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/SignEncryptResult.java @@ -0,0 +1,103 @@ +/* + * Copyright (C) 2014 Dominik Schürmann <dominik@dominikschuermann.de> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program.  If not, see <http://www.gnu.org/licenses/>. + */ + +package org.sufficientlysecure.keychain.service.results; + +import android.os.Parcel; + +import org.openintents.openpgp.OpenPgpMetadata; +import org.openintents.openpgp.OpenPgpSignatureResult; + +import java.util.Date; + +public class SignEncryptResult extends OperationResultParcel { + +    // the fourth bit indicates a "data pending" result! +    public static final int RESULT_PENDING = 8; + +    // fifth to sixth bit in addition indicate specific type of pending +    public static final int RESULT_PENDING_NFC = RESULT_PENDING +16; + +    byte[] mNfcHash; +    int mNfcAlgo; +    Date mNfcTimestamp; + +    public void setNfcData(byte[] sessionKey, int nfcAlgo, Date nfcTimestamp) { +        mNfcHash = sessionKey; +        mNfcAlgo = nfcAlgo; +        mNfcTimestamp = nfcTimestamp; +    } + +    public byte[] getNfcHash() { +        return mNfcHash; +    } + +    public int getNfcAlgo() { +        return mNfcAlgo; +    } + +    public Date getNfcTimestamp() { +        return mNfcTimestamp; +    } + +    public boolean isPending() { +        return (mResult & RESULT_PENDING) != 0; +    } + +    public SignEncryptResult(int result, OperationLog log) { +        super(result, log); +    } + +    public SignEncryptResult(Parcel source) { +        super(source); +        mNfcHash = source.readInt() != 0 ? source.createByteArray() : null; +        mNfcAlgo = source.readInt(); +        mNfcTimestamp = source.readInt() != 0 ? new Date(source.readLong()) : null; +    } + +    public int describeContents() { +        return 0; +    } + +    public void writeToParcel(Parcel dest, int flags) { +        super.writeToParcel(dest, flags); +        if (mNfcHash != null) { +            dest.writeInt(1); +            dest.writeByteArray(mNfcHash); +        } else { +            dest.writeInt(0); +        } +        dest.writeInt(mNfcAlgo); +        if (mNfcHash != null) { +            dest.writeInt(1); +            dest.writeLong(mNfcTimestamp.getTime()); +        } else { +            dest.writeInt(0); +        } +    } + +    public static final Creator<SignEncryptResult> CREATOR = new Creator<SignEncryptResult>() { +        public SignEncryptResult createFromParcel(final Parcel source) { +            return new SignEncryptResult(source); +        } + +        public SignEncryptResult[] newArray(final int size) { +            return new SignEncryptResult[size]; +        } +    }; + +}
\ No newline at end of file  | 
