diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2013-01-18 00:33:20 +0100 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2013-01-18 00:33:20 +0100 |
commit | 9e5aab34830c5b821e3a47d6d3d4f0a637139e2b (patch) | |
tree | 0420a69ab6e583ae67279b4cebd4d8f18e2e1467 | |
parent | 39ab2c4bb04d8748312a4da18b006a9de4e711aa (diff) | |
download | open-keychain-9e5aab34830c5b821e3a47d6d3d4f0a637139e2b.tar.gz open-keychain-9e5aab34830c5b821e3a47d6d3d4f0a637139e2b.tar.bz2 open-keychain-9e5aab34830c5b821e3a47d6d3d4f0a637139e2b.zip |
Fix edit key intent, api improvements
3 files changed, 44 insertions, 27 deletions
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; @@ -168,6 +167,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 * * @return true when activity was found and executed successfully @@ -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(); diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java index 8c5bd6879..42f559b1d 100644 --- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java +++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java @@ -74,7 +74,7 @@ public class EditKeyActivity extends SherlockFragmentActivity { public static final String EXTRA_USER_IDS = "userIds"; public static final String EXTRA_NO_PASSPHRASE = "noPassphrase"; public static final String EXTRA_GENERATE_DEFAULT_KEYS = "generateDefaultKeys"; - public static final String EXTRA_KEY_ID = "keyId"; + public static final String EXTRA_MASTER_KEY_ID = "masterKeyId"; // results when saving key public static final String RESULT_EXTRA_MASTER_KEY_ID = "masterKeyId"; @@ -317,8 +317,8 @@ public class EditKeyActivity extends SherlockFragmentActivity { } if (extras != null) { - if (extras.containsKey(EXTRA_KEY_ID)) { - long keyId = extras.getLong(EXTRA_KEY_ID); + if (extras.containsKey(EXTRA_MASTER_KEY_ID)) { + long keyId = extras.getLong(EXTRA_MASTER_KEY_ID); if (keyId != 0) { PGPSecretKey masterKey = null; diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListSecretActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListSecretActivity.java index 63d06edaf..0e6cdd6a1 100644 --- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListSecretActivity.java +++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyListSecretActivity.java @@ -70,26 +70,26 @@ public class KeyListSecretActivity extends KeyListActivity { } } - public void checkPassPhraseAndEdit(long keyId) { - String passPhrase = PassphraseCacheService.getCachedPassphrase(this, keyId); + public void checkPassPhraseAndEdit(long masterKeyId) { + String passPhrase = PassphraseCacheService.getCachedPassphrase(this, masterKeyId); if (passPhrase == null) { - showPassphraseDialog(keyId); + showPassphraseDialog(masterKeyId); } else { PgpMain.setEditPassPhrase(passPhrase); - editKey(keyId); + editKey(masterKeyId); } } - private void showPassphraseDialog(final long secretKeyId) { + private void showPassphraseDialog(final long masterKeyId) { // Message is received after passphrase is cached Handler returnHandler = new Handler() { @Override public void handleMessage(Message message) { if (message.what == PassphraseDialogFragment.MESSAGE_OKAY) { String passPhrase = PassphraseCacheService.getCachedPassphrase( - KeyListSecretActivity.this, secretKeyId); + KeyListSecretActivity.this, masterKeyId); PgpMain.setEditPassPhrase(passPhrase); - editKey(secretKeyId); + editKey(masterKeyId); } } }; @@ -99,7 +99,7 @@ public class KeyListSecretActivity extends KeyListActivity { try { PassphraseDialogFragment passphraseDialog = PassphraseDialogFragment.newInstance( - KeyListSecretActivity.this, messenger, secretKeyId); + KeyListSecretActivity.this, messenger, masterKeyId); passphraseDialog.show(getSupportFragmentManager(), "passphraseDialog"); } catch (PgpMain.PgpGeneralException e) { @@ -115,9 +115,9 @@ public class KeyListSecretActivity extends KeyListActivity { startActivityForResult(intent, 0); } - private void editKey(long keyId) { + private void editKey(long masterKeyId) { Intent intent = new Intent(EditKeyActivity.ACTION_EDIT_KEY); - intent.putExtra(EditKeyActivity.EXTRA_KEY_ID, keyId); + intent.putExtra(EditKeyActivity.EXTRA_MASTER_KEY_ID, masterKeyId); startActivityForResult(intent, 0); } |