diff options
author | Thialfihar <thi@thialfihar.org> | 2014-04-02 20:53:34 +0200 |
---|---|---|
committer | Thialfihar <thi@thialfihar.org> | 2014-04-04 18:26:23 +0200 |
commit | a523f53a96ec1b6be10e46670f4f5a5001634f7e (patch) | |
tree | cd89aa7c7f7ba2fa49ac7a1a69885c1461ba0bb6 /OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteServiceActivity.java | |
parent | b06f142c5046618d97737d3f7f482ca7198f24e4 (diff) | |
download | open-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.java | 18 |
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 |