aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2014-04-04 18:50:20 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2014-04-04 18:50:20 +0200
commit54f20e1cd501fc6e29c0e7cc2a43857b1361ac4e (patch)
tree20d971bbb66505d30a42073aae2f4f2a78bcff5b /OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog
parentd7c2488a0f08c8314706f76c22b53166309bcdf0 (diff)
parente65de650a47cf7b48bf4104cc9ef2b324e2c9c0d (diff)
downloadopen-keychain-54f20e1cd501fc6e29c0e7cc2a43857b1361ac4e.tar.gz
open-keychain-54f20e1cd501fc6e29c0e7cc2a43857b1361ac4e.tar.bz2
open-keychain-54f20e1cd501fc6e29c0e7cc2a43857b1361ac4e.zip
Merge remote-tracking branch 'origin/master' into db-overhaul
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 05b571362..a3feab959 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