aboutsummaryrefslogtreecommitdiffstats
path: root/org_apg_integration_lib
diff options
context:
space:
mode:
authorDominik <dominik@dominikschuermann.de>2012-04-12 15:23:00 +0200
committerDominik <dominik@dominikschuermann.de>2012-06-13 19:28:22 +0300
commit1a33f4d886ce45596dd7f6dfc3356fe32ec71c1c (patch)
treef59a5b0dd99581bfd7615bd56df869420540c769 /org_apg_integration_lib
parentdfa4e084dd885a875763014bd18e698325bf576e (diff)
downloadopen-keychain-1a33f4d886ce45596dd7f6dfc3356fe32ec71c1c.tar.gz
open-keychain-1a33f4d886ce45596dd7f6dfc3356fe32ec71c1c.tar.bz2
open-keychain-1a33f4d886ce45596dd7f6dfc3356fe32ec71c1c.zip
intent to create a new key
Diffstat (limited to 'org_apg_integration_lib')
-rw-r--r--org_apg_integration_lib/src/org/apg/integration/ApgIntentHelper.java68
-rw-r--r--org_apg_integration_lib/src/org/apg/integration/Constants.java3
2 files changed, 63 insertions, 8 deletions
diff --git a/org_apg_integration_lib/src/org/apg/integration/ApgIntentHelper.java b/org_apg_integration_lib/src/org/apg/integration/ApgIntentHelper.java
index 506ec7a5c..a03e74d2b 100644
--- a/org_apg_integration_lib/src/org/apg/integration/ApgIntentHelper.java
+++ b/org_apg_integration_lib/src/org/apg/integration/ApgIntentHelper.java
@@ -36,11 +36,59 @@ public class ApgIntentHelper {
}
/**
- * Select the signature key.
+ * Opens APG activity to create new key
*
- * @param activity
- * @param pgpData
- * @return success or failure
+ * @param userIds
+ * value to specify prefilled values for user that should be created
+ * @return true when user presses save, false when user presses cancel
+ */
+ public boolean createNewKey(String userIds) {
+ Intent intent = new Intent(Constants.Intent.EDIT_KEY);
+ if (userIds != null) {
+ intent.putExtra(Constants.EXTRA_USER_IDS, userIds);
+ }
+ intent.putExtra(Constants.EXTRA_INTENT_VERSION, Constants.INTENT_VERSION);
+ try {
+ activity.startActivityForResult(intent, Constants.CREATE_NEW_KEY);
+ return true;
+ } catch (ActivityNotFoundException e) {
+ activityNotFound();
+ return false;
+ }
+ }
+
+ /**
+ * Opens APG activity to create new key
+ *
+ * @return true when user presses save, false when user presses cancel
+ */
+ public boolean createNewKey() {
+ return createNewKey(null);
+ }
+
+ /**
+ * Opens APG activity to edit already existing key based on keyId
+ *
+ * @param keyId
+ * @return true when user presses save, false when user presses cancel
+ */
+ public boolean editKey(long keyId) {
+ Intent intent = new Intent(Constants.Intent.EDIT_KEY);
+ intent.putExtra(Constants.EXTRA_KEY_ID, keyId);
+ intent.putExtra(Constants.EXTRA_INTENT_VERSION, Constants.INTENT_VERSION);
+ try {
+ activity.startActivityForResult(intent, Constants.CREATE_NEW_KEY);
+ return true;
+ } catch (ActivityNotFoundException e) {
+ activityNotFound();
+ return false;
+ }
+ }
+
+ /**
+ * Opens APG activity to select the signature key.
+ *
+ * @return true when user presses okay, false when user presses cancel
*/
public boolean selectSecretKey() {
Intent intent = new Intent(Constants.Intent.SELECT_SECRET_KEY);
@@ -55,12 +103,16 @@ public class ApgIntentHelper {
}
/**
- * Start the encrypt activity.
+ * Encrypts the given data by opening APGs encrypt activity. If encryptionKeys are given it
+ * encrypts immediately and goes back to your program after that
*
- * @param activity
* @param data
- * @param pgpData
- * @return success or failure
+ * String that contains the message to be encrypted
+ * @param encryptionKeyIds
+ * long[] that holds the ids of the encryption keys
+ * @param signatureKeyId
+ * id of the signature key
+ * @return
*/
public boolean encrypt(String data, long[] encryptionKeyIds, long signatureKeyId) {
Intent intent = new Intent(Constants.Intent.ENCRYPT_AND_RETURN);
diff --git a/org_apg_integration_lib/src/org/apg/integration/Constants.java b/org_apg_integration_lib/src/org/apg/integration/Constants.java
index 017f88478..b5a92919e 100644
--- a/org_apg_integration_lib/src/org/apg/integration/Constants.java
+++ b/org_apg_integration_lib/src/org/apg/integration/Constants.java
@@ -49,6 +49,7 @@ public class Constants {
+ ".intent.SELECT_PUBLIC_KEYS";
public static final String SELECT_SECRET_KEY = APG_PACKAGE_NAME
+ ".intent.SELECT_SECRET_KEY";
+ public static final String EDIT_KEY = APG_PACKAGE_NAME + ".intent.EDIT_KEY";
}
public static final String EXTRA_TEXT = "text";
@@ -62,6 +63,7 @@ public class Constants {
public static final String EXTRA_SIGNATURE_SUCCESS = "signatureSuccess";
public static final String EXTRA_SIGNATURE_UNKNOWN = "signatureUnknown";
public static final String EXTRA_USER_ID = "userId";
+ public static final String EXTRA_USER_IDS = "userIds";
public static final String EXTRA_KEY_ID = "keyId";
public static final String EXTRA_ENCRYPTION_KEY_IDS = "encryptionKeyIds";
public static final String EXTRA_SELECTION = "selection";
@@ -74,6 +76,7 @@ public class Constants {
public static final int ENCRYPT_MESSAGE = 0x21070002;
public static final int SELECT_PUBLIC_KEYS = 0x21070003;
public static final int SELECT_SECRET_KEY = 0x21070004;
+ public static final int CREATE_NEW_KEY = 0x21070005;
// public static Pattern PGP_MESSAGE = Pattern.compile(
// ".*?(-----BEGIN PGP MESSAGE-----.*?-----END PGP MESSAGE-----).*", Pattern.DOTALL);