diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2015-04-10 15:58:37 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2015-04-10 15:58:37 +0200 |
commit | 7074b443472b620dbfd452d1682b30407b1851b8 (patch) | |
tree | fb1853b3d69336a627aafe0ce9161382f5bc9204 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui | |
parent | 5ea01a15d33f0bef970aa650abd5b3ffb03c4caf (diff) | |
download | open-keychain-7074b443472b620dbfd452d1682b30407b1851b8.tar.gz open-keychain-7074b443472b620dbfd452d1682b30407b1851b8.tar.bz2 open-keychain-7074b443472b620dbfd452d1682b30407b1851b8.zip |
Cache CryptoInputParcel in OpenPgpService
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui')
2 files changed, 10 insertions, 8 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NfcOperationActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NfcOperationActivity.java index d70b0aad1..02fc81825 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NfcOperationActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NfcOperationActivity.java @@ -16,6 +16,7 @@ import android.view.WindowManager; import org.openintents.openpgp.util.OpenPgpApi; import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R; +import org.sufficientlysecure.keychain.remote.OpenPgpService; import org.sufficientlysecure.keychain.service.PassphraseCacheService; import org.sufficientlysecure.keychain.service.input.CryptoInputParcel; import org.sufficientlysecure.keychain.service.input.RequiredInputParcel; @@ -69,7 +70,7 @@ public class NfcOperationActivity extends BaseNfcActivity { @Override protected void onNfcPerform() throws IOException { - CryptoInputParcel resultData = new CryptoInputParcel(mRequiredInput.mSignatureTime); + CryptoInputParcel inputParcel = new CryptoInputParcel(mRequiredInput.mSignatureTime); switch (mRequiredInput.mType) { @@ -77,7 +78,7 @@ public class NfcOperationActivity extends BaseNfcActivity { for (int i = 0; i < mRequiredInput.mInputHashes.length; i++) { byte[] hash = mRequiredInput.mInputHashes[i]; byte[] decryptedSessionKey = nfcDecryptSessionKey(hash); - resultData.addCryptoData(hash, decryptedSessionKey); + inputParcel.addCryptoData(hash, decryptedSessionKey); } break; @@ -86,17 +87,17 @@ public class NfcOperationActivity extends BaseNfcActivity { byte[] hash = mRequiredInput.mInputHashes[i]; int algo = mRequiredInput.mSignAlgos[i]; byte[] signedHash = nfcCalculateSignature(hash, algo); - resultData.addCryptoData(hash, signedHash); + inputParcel.addCryptoData(hash, signedHash); } break; } if (mServiceIntent != null) { - mServiceIntent.putExtra(OpenPgpApi.EXTRA_CRYPTO_INPUT, resultData); + OpenPgpService.cacheCryptoInputParcel(mServiceIntent, inputParcel); setResult(RESULT_OK, mServiceIntent); } else { Intent result = new Intent(); - result.putExtra(NfcOperationActivity.RESULT_DATA, resultData); + result.putExtra(NfcOperationActivity.RESULT_DATA, inputParcel); setResult(RESULT_OK, result); } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java index 007608f80..bf6129407 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java @@ -53,6 +53,7 @@ import org.sufficientlysecure.keychain.pgp.exception.PgpKeyNotFoundException; import org.sufficientlysecure.keychain.provider.CachedPublicKeyRing; import org.sufficientlysecure.keychain.provider.KeychainContract; import org.sufficientlysecure.keychain.provider.ProviderHelper; +import org.sufficientlysecure.keychain.remote.OpenPgpService; import org.sufficientlysecure.keychain.service.PassphraseCacheService; import org.sufficientlysecure.keychain.service.input.CryptoInputParcel; import org.sufficientlysecure.keychain.service.input.RequiredInputParcel; @@ -425,14 +426,14 @@ public class PassphraseDialogActivity extends FragmentActivity { return; } + CryptoInputParcel inputParcel = new CryptoInputParcel(null, passphrase); if (mServiceIntent != null) { - // TODO really pass this through the PendingIntent? - mServiceIntent.putExtra(OpenPgpApi.EXTRA_CRYPTO_INPUT, new CryptoInputParcel(null, passphrase)); + OpenPgpService.cacheCryptoInputParcel(mServiceIntent, inputParcel); getActivity().setResult(RESULT_OK, mServiceIntent); } else { // also return passphrase back to activity Intent returnIntent = new Intent(); - returnIntent.putExtra(RESULT_CRYPTO_INPUT, new CryptoInputParcel(null, passphrase)); + returnIntent.putExtra(RESULT_CRYPTO_INPUT, inputParcel); getActivity().setResult(RESULT_OK, returnIntent); } |