aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter
diff options
context:
space:
mode:
authorTim Bray <timbray@gmail.com>2014-09-12 08:34:51 -0700
committerTim Bray <timbray@gmail.com>2014-09-13 21:41:03 -0700
commit1c32d1df8801968ea6423ee4f1a9160e0c4ff0c3 (patch)
tree6571fc5b6aca0de6bd23e9acda38caf16d81cc30 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter
parent36ef8a9a62f32f0843c9e317d493a7f136624dce (diff)
downloadopen-keychain-1c32d1df8801968ea6423ee4f1a9160e0c4ff0c3.tar.gz
open-keychain-1c32d1df8801968ea6423ee4f1a9160e0c4ff0c3.tar.bz2
open-keychain-1c32d1df8801968ea6423ee4f1a9160e0c4ff0c3.zip
Add cloud search tab, lose Keybase/Keyserver tabs, re-organize prefs
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListCloudLoader.java (renamed from OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListServerLoader.java)29
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListKeybaseLoader.java103
2 files changed, 13 insertions, 119 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListServerLoader.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListCloudLoader.java
index d62c2db43..d39feda76 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListServerLoader.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListCloudLoader.java
@@ -21,28 +21,29 @@ import android.content.Context;
import android.support.v4.content.AsyncTaskLoader;
import org.sufficientlysecure.keychain.Constants;
-import org.sufficientlysecure.keychain.keyimport.HkpKeyserver;
+import org.sufficientlysecure.keychain.helper.Preferences;
+import org.sufficientlysecure.keychain.keyimport.CloudSearch;
import org.sufficientlysecure.keychain.keyimport.ImportKeysListEntry;
-import org.sufficientlysecure.keychain.keyimport.Keyserver;
import org.sufficientlysecure.keychain.util.Log;
import java.util.ArrayList;
-public class ImportKeysListServerLoader
+public class ImportKeysListCloudLoader
extends AsyncTaskLoader<AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>> {
Context mContext;
+
+ Preferences.CloudSearchPrefs mCloudPrefs;
String mServerQuery;
- String mKeyServer;
private ArrayList<ImportKeysListEntry> mEntryList = new ArrayList<ImportKeysListEntry>();
private AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>> mEntryListWrapper;
- public ImportKeysListServerLoader(Context context, String serverQuery, String keyServer) {
+ public ImportKeysListCloudLoader(Context context, String serverQuery, Preferences.CloudSearchPrefs cloudPrefs) {
super(context);
mContext = context;
mServerQuery = serverQuery;
- mKeyServer = keyServer;
+ mCloudPrefs = cloudPrefs;
}
@Override
@@ -56,9 +57,9 @@ public class ImportKeysListServerLoader
if (mServerQuery.startsWith("0x") && mServerQuery.length() == 42) {
Log.d(Constants.TAG, "This search is based on a unique fingerprint. Enforce a fingerprint check!");
- queryServer(mServerQuery, mKeyServer, true);
+ queryServer(true);
} else {
- queryServer(mServerQuery, mKeyServer, false);
+ queryServer(false);
}
return mEntryListWrapper;
@@ -90,15 +91,14 @@ public class ImportKeysListServerLoader
/**
* Query keyserver
*/
- private void queryServer(String query, String keyServer, boolean enforceFingerprint) {
- HkpKeyserver server = new HkpKeyserver(keyServer);
+ private void queryServer(boolean enforceFingerprint) {
try {
- ArrayList<ImportKeysListEntry> searchResult = server.search(query);
+ ArrayList<ImportKeysListEntry> searchResult = CloudSearch.search(mServerQuery, mCloudPrefs);
mEntryList.clear();
// add result to data
if (enforceFingerprint) {
- String fingerprint = query.substring(2);
+ String fingerprint = mServerQuery.substring(2);
Log.d(Constants.TAG, "fingerprint: " + fingerprint);
// query must return only one result!
if (searchResult.size() == 1) {
@@ -115,11 +115,8 @@ public class ImportKeysListServerLoader
mEntryList.addAll(searchResult);
}
mEntryListWrapper = new AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>(mEntryList, null);
- } catch (Keyserver.QueryFailedException e) {
- mEntryListWrapper = new AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>(mEntryList, e);
- } catch (Keyserver.QueryNeedsRepairException e) {
+ } catch (Exception e) {
mEntryListWrapper = new AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>(mEntryList, e);
}
}
-
}
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListKeybaseLoader.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListKeybaseLoader.java
deleted file mode 100644
index d2aefc220..000000000
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListKeybaseLoader.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (C) 2014 Dominik Schürmann <dominik@dominikschuermann.de>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.sufficientlysecure.keychain.ui.adapter;
-
-import android.content.Context;
-import android.support.v4.content.AsyncTaskLoader;
-
-import org.sufficientlysecure.keychain.Constants;
-import org.sufficientlysecure.keychain.keyimport.ImportKeysListEntry;
-import org.sufficientlysecure.keychain.keyimport.KeybaseKeyserver;
-import org.sufficientlysecure.keychain.keyimport.Keyserver;
-import org.sufficientlysecure.keychain.util.Log;
-
-import java.util.ArrayList;
-
-public class ImportKeysListKeybaseLoader
- extends AsyncTaskLoader<AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>> {
- Context mContext;
-
- String mKeybaseQuery;
-
- private ArrayList<ImportKeysListEntry> mEntryList = new ArrayList<ImportKeysListEntry>();
- private AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>> mEntryListWrapper;
-
- public ImportKeysListKeybaseLoader(Context context, String keybaseQuery) {
- super(context);
- mContext = context;
- mKeybaseQuery = keybaseQuery;
- }
-
- @Override
- public AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>> loadInBackground() {
-
- mEntryListWrapper = new AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>(mEntryList, null);
-
- if (mKeybaseQuery == null) {
- Log.e(Constants.TAG, "mKeybaseQery is null!");
- return mEntryListWrapper;
- }
-
- queryServer(mKeybaseQuery);
-
- return mEntryListWrapper;
- }
-
- @Override
- protected void onReset() {
- super.onReset();
-
- // Ensure the loader is stopped
- onStopLoading();
- }
-
- @Override
- protected void onStartLoading() {
- forceLoad();
- }
-
- @Override
- protected void onStopLoading() {
- cancelLoad();
- }
-
- @Override
- public void deliverResult(AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>> data) {
- super.deliverResult(data);
- }
-
- /**
- * Query keybase
- */
- private void queryServer(String query) {
-
- KeybaseKeyserver server = new KeybaseKeyserver();
- try {
- ArrayList<ImportKeysListEntry> searchResult = server.search(query);
-
- mEntryList.clear();
-
- mEntryList.addAll(searchResult);
- mEntryListWrapper = new AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>(mEntryList, null);
- } catch (Keyserver.QueryFailedException e) {
- mEntryListWrapper = new AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>(mEntryList, e);
- } catch (Keyserver.QueryNeedsRepairException e) {
- mEntryListWrapper = new AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>(mEntryList, e);
- }
- }
-}