From 9e5aab34830c5b821e3a47d6d3d4f0a637139e2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Fri, 18 Jan 2013 00:33:20 +0100 Subject: Fix edit key intent, api improvements --- .../keychain/integration/KeychainIntentHelper.java | 45 +++++++++++++++------- 1 file changed, 31 insertions(+), 14 deletions(-) (limited to 'OpenPGP-Keychain-API-Lib/src/org/sufficientlysecure/keychain/integration/KeychainIntentHelper.java') diff --git a/OpenPGP-Keychain-API-Lib/src/org/sufficientlysecure/keychain/integration/KeychainIntentHelper.java b/OpenPGP-Keychain-API-Lib/src/org/sufficientlysecure/keychain/integration/KeychainIntentHelper.java index e0c2eb1d6..00b26c3e7 100644 --- a/OpenPGP-Keychain-API-Lib/src/org/sufficientlysecure/keychain/integration/KeychainIntentHelper.java +++ b/OpenPGP-Keychain-API-Lib/src/org/sufficientlysecure/keychain/integration/KeychainIntentHelper.java @@ -104,7 +104,6 @@ public class KeychainIntentHelper { 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 = "masterKeyId"; public static final String EXTRA_ENCRYPTION_KEY_IDS = "encryptionKeyIds"; public static final String EXTRA_SELECTION = "selection"; public static final String EXTRA_MESSAGE = "message"; @@ -123,10 +122,10 @@ public class KeychainIntentHelper { public static final int DECRYPT_MESSAGE = 0x00007121; public static final int ENCRYPT_MESSAGE = 0x00007122; - public static final int SELECT_PUBLIC_KEYS = 0x00007123; - public static final int SELECT_SECRET_KEY = 0x00007124; - public static final int CREATE_KEY = 0x00007125; - public static final int EDIT_KEY = 0x00007126; + public static final int SELECT_PUBLIC_KEYRINGS = 0x00007123; + public static final int SELECT_SECRET_KEYRING = 0x00007124; + public static final int CREATE_KEYRING = 0x00007125; + public static final int EDIT_KEYRING = 0x00007126; private Activity activity; @@ -167,6 +166,24 @@ public class KeychainIntentHelper { } } + /** + * Opens activity to share keyring with… + * + * @return true when activity was found and executed successfully + */ + public boolean share(long masterKeyId) { + Intent intent = new Intent(ACTION_SHARE_KEYRING); + intent.putExtra(EXTRA_INTENT_VERSION, INTENT_VERSION); + intent.putExtra(EXTRA_MASTER_KEY_ID, masterKeyId); + try { + startActivityForResult(intent, -1); + return true; + } catch (ActivityNotFoundException e) { + activityNotFound(); + return false; + } + } + /** * Opens activity with qr code for masterKeyId * @@ -220,7 +237,7 @@ public class KeychainIntentHelper { intent.putExtra(EXTRA_INTENT_VERSION, INTENT_VERSION); try { - startActivityForResult(intent, CREATE_KEY); + startActivityForResult(intent, CREATE_KEYRING); return true; } catch (ActivityNotFoundException e) { activityNotFound(); @@ -245,10 +262,10 @@ public class KeychainIntentHelper { */ public boolean editKey(long keyId) { Intent intent = new Intent(ACTION_EDIT_KEY); - intent.putExtra(EXTRA_KEY_ID, keyId); + intent.putExtra(EXTRA_MASTER_KEY_ID, keyId); intent.putExtra(EXTRA_INTENT_VERSION, INTENT_VERSION); try { - startActivityForResult(intent, EDIT_KEY); + startActivityForResult(intent, EDIT_KEYRING); return true; } catch (ActivityNotFoundException e) { activityNotFound(); @@ -265,7 +282,7 @@ public class KeychainIntentHelper { Intent intent = new Intent(ACTION_SELECT_SECRET_KEY); intent.putExtra(EXTRA_INTENT_VERSION, INTENT_VERSION); try { - startActivityForResult(intent, SELECT_SECRET_KEY); + startActivityForResult(intent, SELECT_SECRET_KEYRING); return true; } catch (ActivityNotFoundException e) { activityNotFound(); @@ -349,7 +366,7 @@ public class KeychainIntentHelper { KeychainData apgData) { switch (requestCode) { - case CREATE_KEY: + case CREATE_KEYRING: if (resultCode != Activity.RESULT_OK || data == null) { // user canceled! break; @@ -358,16 +375,16 @@ public class KeychainIntentHelper { apgData.setSecretKeyUserId(data.getStringExtra(RESULT_EXTRA_USER_ID)); break; - case SELECT_SECRET_KEY: + case SELECT_SECRET_KEYRING: if (resultCode != Activity.RESULT_OK || data == null) { // user canceled! break; } - apgData.setSecretKeyId(data.getLongExtra(EXTRA_KEY_ID, 0)); + apgData.setSecretKeyId(data.getLongExtra(EXTRA_MASTER_KEY_ID, 0)); apgData.setSecretKeyUserId(data.getStringExtra(EXTRA_USER_ID)); break; - case SELECT_PUBLIC_KEYS: + case SELECT_PUBLIC_KEYRINGS: if (resultCode != Activity.RESULT_OK || data == null) { apgData.setPublicKeyIds(null); break; @@ -439,7 +456,7 @@ public class KeychainIntentHelper { intent.putExtra(EXTRA_SELECTION, initialKeyIds); try { - startActivityForResult(intent, SELECT_PUBLIC_KEYS); + startActivityForResult(intent, SELECT_PUBLIC_KEYRINGS); return true; } catch (ActivityNotFoundException e) { activityNotFound(); -- cgit v1.2.3