diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-09-17 20:40:02 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-09-17 20:40:02 +0200 |
commit | 1abf167f80e1eccfef551c2e1385999b06f9cfbf (patch) | |
tree | ddccea574564896e18afb0a1973a9620fd4af40d /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java | |
parent | 872491686632540d7e4196cc082a94a662204497 (diff) | |
download | open-keychain-1abf167f80e1eccfef551c2e1385999b06f9cfbf.tar.gz open-keychain-1abf167f80e1eccfef551c2e1385999b06f9cfbf.tar.bz2 open-keychain-1abf167f80e1eccfef551c2e1385999b06f9cfbf.zip |
Passphrase handling in encrypt
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java index 1ac457f18..e86790835 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java @@ -70,6 +70,7 @@ public class EncryptTextActivity extends EncryptActivity implements EncryptActiv private String mEncryptionUserIds[] = null; // TODO Constants.key.none? What's wrong with a null value? private long mSigningKeyId = Constants.key.none; + private String mSigningKeyPassphrase = null; private String mPassphrase = ""; private boolean mShareAfterEncrypt = false; private ArrayList<Uri> mInputUris; @@ -219,6 +220,9 @@ public class EncryptTextActivity extends EncryptActivity implements EncryptActiv // Notify.showNotify(EncryptTextActivity.this, // R.string.encrypt_sign_clipboard_successful, Notify.Style.INFO); } + + // reset parameters, TODO: better state saving? + mSigningKeyPassphrase = null; } else { pgpResult.createNotify(EncryptTextActivity.this).show(); } @@ -236,6 +240,34 @@ public class EncryptTextActivity extends EncryptActivity implements EncryptActiv startService(intent); } + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + switch (requestCode) { + case REQUEST_CODE_PASSPHRASE: { + if (resultCode == RESULT_OK && data != null) { + mSigningKeyPassphrase = data.getStringExtra(PassphraseDialogActivity.MESSAGE_DATA_PASSPHRASE); + startEncrypt(); + return; + } + break; + } + + case REQUEST_CODE_NFC: { + if (resultCode == RESULT_OK && data != null) { + + startEncrypt(); + return; + } + break; + } + + default: { + super.onActivityResult(requestCode, resultCode, data); + break; + } + } + } + private Bundle createEncryptBundle() { // fill values for this action Bundle data = new Bundle(); @@ -259,6 +291,8 @@ public class EncryptTextActivity extends EncryptActivity implements EncryptActiv } else { data.putLong(KeychainIntentService.ENCRYPT_SIGNATURE_MASTER_ID, mSigningKeyId); data.putLongArray(KeychainIntentService.ENCRYPT_ENCRYPTION_KEYS_IDS, mEncryptionKeyIds); + data.putString(KeychainIntentService.ENCRYPT_SIGNATURE_KEY_PASSPHRASE, mSigningKeyPassphrase); + data.putLongArray(KeychainIntentService.ENCRYPT_SIGNATURE_KEY_PASSPHRASE, mEncryptionKeyIds); } return data; } |