aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
diff options
context:
space:
mode:
authorAsh Hughes <ashes-iontach@hotmail.com>2013-03-21 14:18:38 +0000
committerAsh Hughes <ashes-iontach@hotmail.com>2013-03-21 14:18:38 +0000
commitcf34a1720e02ed7bf853e66bd4b451f791dac23b (patch)
tree9a8a2ed8c2a849c38fa6a73c022d425c742d198d /OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
parent650b22d5e9512ede43b0c742799d49b061dda587 (diff)
downloadopen-keychain-cf34a1720e02ed7bf853e66bd4b451f791dac23b.tar.gz
open-keychain-cf34a1720e02ed7bf853e66bd4b451f791dac23b.tar.bz2
open-keychain-cf34a1720e02ed7bf853e66bd4b451f791dac23b.zip
change edit key for empty private master keys
Diffstat (limited to 'OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java')
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
index 90ee9838e..3d819a824 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
@@ -75,6 +75,7 @@ public class EditKeyActivity extends SherlockFragmentActivity {
public static final String EXTRA_NO_PASSPHRASE = "noPassphrase";
public static final String EXTRA_GENERATE_DEFAULT_KEYS = "generateDefaultKeys";
public static final String EXTRA_MASTER_KEY_ID = "masterKeyId";
+ public static final String EXTRA_MASTER_CAN_SIGN = "masterCanSign";
// results when saving key
public static final String RESULT_EXTRA_MASTER_KEY_ID = "masterKeyId";
@@ -97,6 +98,7 @@ public class EditKeyActivity extends SherlockFragmentActivity {
Vector<String> mUserIds;
Vector<PGPSecretKey> mKeys;
Vector<Integer> mKeysUsages;
+ boolean masterCanSign = true;
// will be set to false to build layout later in handler
private boolean mBuildLayout = true;
@@ -192,6 +194,13 @@ public class EditKeyActivity extends SherlockFragmentActivity {
}
});
+ //disable key passhphrase changing with empty private keys for no
+ //library fails, fix later
+ if (!masterCanSign) {
+ mChangePassPhrase.setEnabled(false);
+ mNoPassphrase.setEnabled(false);
+ }
+
if (mBuildLayout) {
buildLayout();
}
@@ -317,6 +326,9 @@ public class EditKeyActivity extends SherlockFragmentActivity {
}
if (extras != null) {
+ if (extras.containsKey(EXTRA_MASTER_CAN_SIGN)) {
+ masterCanSign = extras.getBoolean(EXTRA_MASTER_CAN_SIGN);
+ }
if (extras.containsKey(EXTRA_MASTER_KEY_ID)) {
long masterKeyId = extras.getLong(EXTRA_MASTER_KEY_ID);
@@ -394,10 +406,12 @@ public class EditKeyActivity extends SherlockFragmentActivity {
LinearLayout container = (LinearLayout) findViewById(R.id.edit_key_container);
mUserIdsView = (SectionView) inflater.inflate(R.layout.edit_key_section, container, false);
mUserIdsView.setType(Id.type.user_id);
+ mUserIdsView.setCanEdit(masterCanSign);
mUserIdsView.setUserIds(mUserIds);
container.addView(mUserIdsView);
mKeysView = (SectionView) inflater.inflate(R.layout.edit_key_section, container, false);
mKeysView.setType(Id.type.key);
+ mKeysView.setCanEdit(masterCanSign);
mKeysView.setKeys(mKeys, mKeysUsages);
container.addView(mKeysView);
@@ -447,6 +461,7 @@ public class EditKeyActivity extends SherlockFragmentActivity {
data.putIntegerArrayList(KeychainIntentService.SAVE_KEYRING_KEYS_USAGES,
getKeysUsages(mKeysView));
data.putLong(KeychainIntentService.SAVE_KEYRING_MASTER_KEY_ID, getMasterKeyId());
+ data.putBoolean(KeychainIntentService.SAVE_KEYRING_CAN_SIGN, masterCanSign);
intent.putExtra(KeychainIntentService.EXTRA_DATA, data);