aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2014-04-04 18:31:28 +0200
committerDominik Schürmann <dominik@dominikschuermann.de>2014-04-04 18:31:28 +0200
commite65de650a47cf7b48bf4104cc9ef2b324e2c9c0d (patch)
treecd89aa7c7f7ba2fa49ac7a1a69885c1461ba0bb6 /OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog
parentb06f142c5046618d97737d3f7f482ca7198f24e4 (diff)
parenta523f53a96ec1b6be10e46670f4f5a5001634f7e (diff)
downloadopen-keychain-e65de650a47cf7b48bf4104cc9ef2b324e2c9c0d.tar.gz
open-keychain-e65de650a47cf7b48bf4104cc9ef2b324e2c9c0d.tar.bz2
open-keychain-e65de650a47cf7b48bf4104cc9ef2b324e2c9c0d.zip
Merge pull request #512 from thi/simplify-passphrase-dialog-creation
Simplify passphrase dialog creation
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.java23
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