aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2014-09-17 20:40:02 +0200
committerDominik Schürmann <dominik@dominikschuermann.de>2014-09-17 20:40:02 +0200
commit1abf167f80e1eccfef551c2e1385999b06f9cfbf (patch)
treeddccea574564896e18afb0a1973a9620fd4af40d /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java
parent872491686632540d7e4196cc082a94a662204497 (diff)
downloadopen-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.java34
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;
}