aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteServiceActivity.java
diff options
context:
space:
mode:
authorThialfihar <thi@thialfihar.org>2014-04-02 20:53:34 +0200
committerThialfihar <thi@thialfihar.org>2014-04-04 18:26:23 +0200
commita523f53a96ec1b6be10e46670f4f5a5001634f7e (patch)
treecd89aa7c7f7ba2fa49ac7a1a69885c1461ba0bb6 /OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteServiceActivity.java
parentb06f142c5046618d97737d3f7f482ca7198f24e4 (diff)
downloadopen-keychain-a523f53a96ec1b6be10e46670f4f5a5001634f7e.tar.gz
open-keychain-a523f53a96ec1b6be10e46670f4f5a5001634f7e.tar.bz2
open-keychain-a523f53a96ec1b6be10e46670f4f5a5001634f7e.zip
Simplify PassphraseDialogFragment usage
Move boiler plate code into a simple static show() method, which only requires a Handler and can be used ad hoc in any FragmentActivity.
Diffstat (limited to 'OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteServiceActivity.java')
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteServiceActivity.java18
1 files changed, 16 insertions, 2 deletions
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteServiceActivity.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteServiceActivity.java
index b2ab75cea..307c9c61a 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteServiceActivity.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteServiceActivity.java
@@ -178,9 +178,23 @@ public class RemoteServiceActivity extends ActionBarActivity {
mAccSettingsFragment.setAccSettings(settings);
} else if (ACTION_CACHE_PASSPHRASE.equals(action)) {
long secretKeyId = extras.getLong(EXTRA_SECRET_KEY_ID);
- Intent resultData = extras.getParcelable(EXTRA_DATA);
+ final Intent resultData = extras.getParcelable(EXTRA_DATA);
+
+ PassphraseDialogFragment.show(this, secretKeyId,
+ new Handler() {
+ @Override
+ public void handleMessage(Message message) {
+ if (message.what == PassphraseDialogFragment.MESSAGE_OKAY) {
+ // return given params again, for calling the service method again
+ RemoteServiceActivity.this.setResult(RESULT_OK, resultData);
+ } else {
+ RemoteServiceActivity.this.setResult(RESULT_CANCELED);
+ }
+
+ RemoteServiceActivity.this.finish();
+ }
+ });
- showPassphraseDialog(resultData, secretKeyId);
} else if (ACTION_SELECT_PUB_KEYS.equals(action)) {
long[] selectedMasterKeyIds = intent.getLongArrayExtra(EXTRA_SELECTED_MASTER_KEY_IDS);
ArrayList<String> missingUserIds = intent