diff options
author | Vincent Breitmoser <valodim@mugenguild.com> | 2015-03-20 11:32:15 +0100 |
---|---|---|
committer | Vincent Breitmoser <valodim@mugenguild.com> | 2015-03-20 14:01:07 +0100 |
commit | abce05d529bcc948654d7fcca425dfd544ef30be (patch) | |
tree | af2ea797cbb35894ed74a8949128bb91df0c5366 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport | |
parent | 3b04636f5daf3d171449296a5d9a67440abfbf75 (diff) | |
parent | 10510288f13a89b0f69994b9d2962c4d26b5f017 (diff) | |
download | open-keychain-abce05d529bcc948654d7fcca425dfd544ef30be.tar.gz open-keychain-abce05d529bcc948654d7fcca425dfd544ef30be.tar.bz2 open-keychain-abce05d529bcc948654d7fcca425dfd544ef30be.zip |
Merge remote-tracking branch 'origin/development' into development
Conflicts:
OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/CertifyOperation.java
OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/EditKeyOperation.java
OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/PgpSignEncryptResult.java
OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedSecretKey.java
OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpKeyOperation.java
OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptInputParcel.java
OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/SignEncryptParcel.java
OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java
OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyFragment.java
OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java
OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java
OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/SetPassphraseDialogFragment.java
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysList.java | 15 |
1 files changed, 14 insertions, 1 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 02cb502d0..03439228b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysList.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysList.java @@ -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; } } |