aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2015-02-27 01:18:18 +0100
committerDominik Schürmann <dominik@dominikschuermann.de>2015-02-27 01:18:18 +0100
commit6dce7c88d847f8578bf4b980fb9c4ee1ea1c280b (patch)
tree04d89a253080ed5bdef2e76b84b3972447df8792 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java
parenta70d80483df4576d8d02fccde73ac6defa55a1f9 (diff)
parent5c54ab1a0d9eaee7dc5599978d4f15ad7bc64937 (diff)
downloadopen-keychain-6dce7c88d847f8578bf4b980fb9c4ee1ea1c280b.tar.gz
open-keychain-6dce7c88d847f8578bf4b980fb9c4ee1ea1c280b.tar.bz2
open-keychain-6dce7c88d847f8578bf4b980fb9c4ee1ea1c280b.zip
Merge keybase-proof branch
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java18
1 files changed, 17 insertions, 1 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java
index 598793233..6ba9e26ad 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java
@@ -213,8 +213,24 @@ public class ImportKeysAdapter extends ArrayAdapter<ImportKeysListEntry> {
// destroyLoader view from holder
holder.userIdsList.removeAllViews();
+ // we want conventional gpg UserIDs first, then Keybase ”proofs”
HashMap<String, HashSet<String>> mergedUserIds = entry.getMergedUserIds();
- for (Map.Entry<String, HashSet<String>> pair : mergedUserIds.entrySet()) {
+ ArrayList<Map.Entry<String, HashSet<String>>> sortedIds = new ArrayList<Map.Entry<String, HashSet<String>>>(mergedUserIds.entrySet());
+ java.util.Collections.sort(sortedIds, new java.util.Comparator<Map.Entry<String, HashSet<String>>>() {
+ @Override
+ public int compare(Map.Entry<String, HashSet<String>> entry1, Map.Entry<String, HashSet<String>> entry2) {
+
+ // sort keybase UserIds after non-Keybase
+ boolean e1IsKeybase = entry1.getKey().contains(":");
+ boolean e2IsKeybase = entry2.getKey().contains(":");
+ if (e1IsKeybase != e2IsKeybase) {
+ return (e1IsKeybase) ? 1 : -1;
+ }
+ return entry1.getKey().compareTo(entry2.getKey());
+ }
+ });
+
+ for (Map.Entry<String, HashSet<String>> pair : sortedIds) {
String cUserId = pair.getKey();
HashSet<String> cEmails = pair.getValue();