mirror of
https://github.com/moparisthebest/open-keychain
synced 2024-11-10 19:15:06 -05:00
Merge pull request #1160 from jellysheep/cloudsearch-show-main-email
Show HKP server results first in key cloud search. Fixes #1066
This commit is contained in:
commit
d25cc08be4
@ -70,6 +70,8 @@ public class ImportKeysList extends ArrayList<ImportKeysListEntry> {
|
||||
modified = true;
|
||||
}
|
||||
|
||||
// keep track if this key result is from a HKP keyserver
|
||||
boolean incomingFromHkpServer = true;
|
||||
// we’re going to want to try to fetch the key from everywhere we found it, so remember
|
||||
// all the origins
|
||||
for (String origin : incoming.getOrigins()) {
|
||||
@ -78,13 +80,24 @@ public class ImportKeysList extends ArrayList<ImportKeysListEntry> {
|
||||
// to work properly, Keybase-sourced entries need to pass along the extra
|
||||
if (KeybaseKeyserver.ORIGIN.equals(origin)) {
|
||||
existing.setExtraData(incoming.getExtraData());
|
||||
// one of the origins is not a HKP keyserver
|
||||
incomingFromHkpServer = false;
|
||||
}
|
||||
}
|
||||
|
||||
ArrayList<String> incomingIDs = incoming.getUserIds();
|
||||
ArrayList<String> existingIDs = existing.getUserIds();
|
||||
for (String incomingID : incomingIDs) {
|
||||
if (!existingIDs.contains(incomingID)) {
|
||||
existingIDs.add(incomingID);
|
||||
// prepend HKP server results to the start of the list,
|
||||
// so that the UI (for cloud key search, which is picking the first list item)
|
||||
// shows the right main email address, as mail addresses returned by HKP servers
|
||||
// are preferred over keybase.io IDs
|
||||
if (incomingFromHkpServer) {
|
||||
existingIDs.add(0, incomingID);
|
||||
} else {
|
||||
existingIDs.add(incomingID);
|
||||
}
|
||||
modified = true;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user