diff options
author | Tim Bray <timbray@gmail.com> | 2014-09-13 09:39:10 -0700 |
---|---|---|
committer | Tim Bray <timbray@gmail.com> | 2014-09-13 21:41:03 -0700 |
commit | 7de86a09bc3bae47c44b9dcb65bbda1298ccf843 (patch) | |
tree | a4f9a8b24958b500ed52415d1f1584a03b865779 /OpenKeychain/src/main/java/org/sufficientlysecure | |
parent | e14cf32264d92c4b0d4ca782d74a1589ee52a396 (diff) | |
download | open-keychain-7de86a09bc3bae47c44b9dcb65bbda1298ccf843.tar.gz open-keychain-7de86a09bc3bae47c44b9dcb65bbda1298ccf843.tar.bz2 open-keychain-7de86a09bc3bae47c44b9dcb65bbda1298ccf843.zip |
Change shuffle to rotate, and when merging ImportKeysList entries, if either side is revoked/expired, the merge reflects that
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure')
3 files changed, 15 insertions, 5 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysList.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysList.java index 15de8cb8f..00bbca69c 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysList.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysList.java @@ -50,15 +50,23 @@ public class ImportKeysList extends ArrayList<ImportKeysListEntry> { private synchronized boolean addOrMerge(ImportKeysListEntry toAdd) { for (ImportKeysListEntry existing : this) { if (toAdd.hasSameKeyAs(existing)) { - return mergeIDs(toAdd, existing); + return mergeDupes(toAdd, existing); } } return super.add(toAdd); } // being a little anal about the ArrayList#addAll contract here - private boolean mergeIDs(ImportKeysListEntry incoming, ImportKeysListEntry existing) { + private boolean mergeDupes(ImportKeysListEntry incoming, ImportKeysListEntry existing) { boolean modified = false; + if (incoming.isRevoked()) { + existing.setRevoked(true); + modified = true; + } + if (incoming.isExpired()) { + existing.setExpired(true); + modified = true; + } ArrayList<String> incomingIDs = incoming.getUserIds(); ArrayList<String> existingIDs = existing.getUserIds(); for (String incomingID : incomingIDs) { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/KeybaseKeyserver.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/KeybaseKeyserver.java index cbd06da90..ff582e5ed 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/KeybaseKeyserver.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/KeybaseKeyserver.java @@ -65,6 +65,8 @@ public class KeybaseKeyserver extends Keyserver { entry.setQuery(mQuery); entry.setOrigin(ORIGIN); + entry.setRevoked(false); // keybase doesn’t say anything about revoked keys + String username = match.getUsername(); String fullName = match.getFullName(); String fingerprint = match.getFingerprint(); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PreferencesKeyServerActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PreferencesKeyServerActivity.java index b5e0e2ab5..520f0b6a5 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PreferencesKeyServerActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PreferencesKeyServerActivity.java @@ -43,7 +43,7 @@ public class PreferencesKeyServerActivity extends ActionBarActivity implements O private LayoutInflater mInflater; private ViewGroup mEditors; private View mAdd; - private View mShuffle; + private View mRotate; private TextView mTitle; private TextView mSummary; @@ -82,8 +82,8 @@ public class PreferencesKeyServerActivity extends ActionBarActivity implements O mAdd = findViewById(R.id.add); mAdd.setOnClickListener(this); - mShuffle = findViewById(R.id.shuffle); - mShuffle.setOnClickListener(new OnClickListener() { + mRotate = findViewById(R.id.rotate); + mRotate.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { Vector<String> servers = serverList(); |