From 69ce66be9429b3490511655c836f400cc30c4d4f Mon Sep 17 00:00:00 2001 From: Thialfihar Date: Wed, 14 May 2014 20:07:30 +0200 Subject: Add highlighting to keyserver/keybase search --- .../org/sufficientlysecure/keychain/keyimport/HkpKeyServer.java | 1 + .../keychain/keyimport/ImportKeysListEntry.java | 9 +++++++++ .../sufficientlysecure/keychain/keyimport/KeybaseKeyServer.java | 5 +++-- 3 files changed, 13 insertions(+), 2 deletions(-) (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/HkpKeyServer.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/HkpKeyServer.java index 8d1e1f460..28a8c8251 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/HkpKeyServer.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/HkpKeyServer.java @@ -237,6 +237,7 @@ public class HkpKeyServer extends KeyServer { final Matcher matcher = PUB_KEY_LINE.matcher(data); while (matcher.find()) { final ImportKeysListEntry entry = new ImportKeysListEntry(); + entry.setQuery(query); entry.setBitStrength(Integer.parseInt(matcher.group(3))); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysListEntry.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysListEntry.java index 4a8d58e56..04b86e295 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysListEntry.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysListEntry.java @@ -51,6 +51,7 @@ public class ImportKeysListEntry implements Serializable, Parcelable { public boolean secretKey; public String mPrimaryUserId; private String mExtraData; + private String mQuery; private boolean mSelected; @@ -209,6 +210,14 @@ public class ImportKeysListEntry implements Serializable, Parcelable { mExtraData = extraData; } + public String getQuery() { + return mQuery; + } + + public void setQuery(String query) { + mQuery = query; + } + /** * Constructor for later querying from keyserver */ 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 5f729a05c..88f68b8f7 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/KeybaseKeyServer.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/KeybaseKeyServer.java @@ -34,6 +34,7 @@ import java.util.TimeZone; import java.util.WeakHashMap; public class KeybaseKeyServer extends KeyServer { + private String mQuery; @Override public ArrayList search(String query) throws QueryException, TooManyResponses, @@ -86,15 +87,15 @@ public class KeybaseKeyServer extends KeyServer { } private ImportKeysListEntry makeEntry(JSONObject match) throws QueryException, JSONException { - final ImportKeysListEntry entry = new ImportKeysListEntry(); + entry.setQuery(mQuery); + String keybaseId = JWalk.getString(match, "components", "username", "val"); String fullName = JWalk.getString(match, "components", "full_name", "val"); String fingerprint = JWalk.getString(match, "components", "key_fingerprint", "val"); fingerprint = fingerprint.replace(" ", "").toUpperCase(); // not strictly necessary but doesn't hurt entry.setFingerprintHex(fingerprint); - // in anticipation of a full fingerprint, only use the last 16 chars as 64-bit key id entry.setKeyIdHex("0x" + fingerprint.substring(Math.max(0, fingerprint.length() - 16))); // store extra info, so we can query for the keybase id directly entry.setExtraData(keybaseId); -- cgit v1.2.3