aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAshley Hughes <spirit.returned@gmail.com>2014-03-27 13:35:03 +0000
committerAshley Hughes <spirit.returned@gmail.com>2014-03-27 13:35:03 +0000
commit140646fa121958ba3b19decd8a92f470fe13ac43 (patch)
tree73a756c68e87688e630c6f6cfcac83c5939da339
parent4923c9b8e3e78c888cde438a5f9aac7155ed30f5 (diff)
downloadopen-keychain-140646fa121958ba3b19decd8a92f470fe13ac43.tar.gz
open-keychain-140646fa121958ba3b19decd8a92f470fe13ac43.tar.bz2
open-keychain-140646fa121958ba3b19decd8a92f470fe13ac43.zip
pass through original primary ID
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java1
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/SectionView.java15
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/UserIdEditor.java5
3 files changed, 21 insertions, 0 deletions
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
index 716140655..0726897c3 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
@@ -597,6 +597,7 @@ public class EditKeyActivity extends ActionBarActivity implements EditorListener
saveParams.oldPassPhrase = mCurrentPassphrase;
saveParams.newKeys = toPrimitiveArray(mKeysView.getNewKeysArray());
saveParams.keys = getKeys(mKeysView);
+ saveParams.originalPrimaryID = mUserIdsView.getOriginalPrimaryID();
// fill values for this action
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/SectionView.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/SectionView.java
index 6ab422d69..9758835d2 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/SectionView.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/SectionView.java
@@ -198,6 +198,21 @@ public class SectionView extends LinearLayout implements OnClickListener, Editor
return ret;
}
+ public String getOriginalPrimaryID()
+ { //NB: this will have to change when we change how Primary IDs are chosen, and so we need to be
+ // careful about where Master key capabilities are stored... multiple primaries and
+ // revoked ones make this harder than the simple case we are continuing to assume here
+ for (int i = 0; i < mEditors.getChildCount(); ++i) {
+ Editor editor = (Editor) mEditors.getChildAt(i);
+ if (mType == Id.type.user_id) {
+ if(((UserIdEditor)editor).getIsOriginallyMainUserID()) {
+ return ((UserIdEditor)editor).getOriginalID();
+ }
+ }
+ }
+ return null;
+ }
+
public ArrayList<String> getOriginalIDs()
{
ArrayList<String> orig = new ArrayList<String>();
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/UserIdEditor.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/UserIdEditor.java
index 5098c8713..8760b72f7 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/UserIdEditor.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/UserIdEditor.java
@@ -229,6 +229,11 @@ public class UserIdEditor extends LinearLayout implements Editor, OnClickListene
return retval;
}
+ public boolean getIsOriginallyMainUserID()
+ {
+ return mOriginallyMainUserID;
+ }
+
public boolean primarySwapped()
{
return (mOriginallyMainUserID != isMainUserId());