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/ui/dialog | |
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/ui/dialog')
-rw-r--r-- | OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/PassphraseDialogFragment.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/PassphraseDialogFragment.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/PassphraseDialogFragment.java index b8db470b4..60dd98c18 100644 --- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/PassphraseDialogFragment.java +++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/PassphraseDialogFragment.java @@ -24,10 +24,12 @@ import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.os.Bundle; +import android.os.Handler; import android.os.Message; import android.os.Messenger; import android.os.RemoteException; import android.support.v4.app.DialogFragment; +import android.support.v4.app.FragmentActivity; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; @@ -66,6 +68,27 @@ public class PassphraseDialogFragment extends DialogFragment implements OnEditor private boolean mCanKB; /** + * Shows passphrase dialog to cache a new passphrase the user enters for using it later for + * encryption. Based on mSecretKeyId it asks for a passphrase to open a private key or it asks + * for a symmetric passphrase + */ + public static void show(FragmentActivity context, long keyId, Handler returnHandler) { + // Create a new Messenger for the communication back + Messenger messenger = new Messenger(returnHandler); + + try { + PassphraseDialogFragment passphraseDialog = PassphraseDialogFragment.newInstance(context, + messenger, keyId); + + passphraseDialog.show(context.getSupportFragmentManager(), "passphraseDialog"); + } catch (PgpGeneralException e) { + Log.d(Constants.TAG, "No passphrase for this secret key, encrypt directly!"); + // send message to handler to start encryption directly + returnHandler.sendEmptyMessage(PassphraseDialogFragment.MESSAGE_OKAY); + } + } + + /** * Creates new instance of this dialog fragment * * @param secretKeyId secret key id you want to use |