fixed Proxy generation, proxy working for for cloud import

This commit is contained in:
Adithya Abraham Philip
2015-06-08 01:56:35 +05:30
parent 413536c62b
commit dbc3f90360
7 changed files with 46 additions and 42 deletions

View File

@@ -43,9 +43,11 @@ import org.sufficientlysecure.keychain.ui.util.Notify;
import org.sufficientlysecure.keychain.util.Log;
import org.sufficientlysecure.keychain.util.ParcelableFileCache;
import org.sufficientlysecure.keychain.util.ParcelableFileCache.IteratorWithSize;
import org.sufficientlysecure.keychain.util.ParcelableProxy;
import org.sufficientlysecure.keychain.util.Preferences;
import java.io.IOException;
import java.net.Proxy;
import java.util.ArrayList;
public class ImportKeysActivity extends BaseNfcActivity
@@ -367,14 +369,14 @@ public class ImportKeysActivity extends BaseNfcActivity
}
}
mListFragment.loadNew(loaderState, mProxyPrefs.proxy);
mListFragment.loadNew(loaderState, mProxyPrefs.parcelableProxy);
}
/**
* disables use of Tor as proxy for this session
*/
private void disableTorForSession() {
mProxyPrefs = new Preferences.ProxyPrefs(false, false, null);
mProxyPrefs = new Preferences.ProxyPrefs(false, false, null, -1, null);
}
private void handleMessage(Message message) {
@@ -455,6 +457,8 @@ public class ImportKeysActivity extends BaseNfcActivity
ImportKeysListFragment.CloudLoaderState sls =
(ImportKeysListFragment.CloudLoaderState) ls;
data.putParcelable(KeychainService.EXTRA_PARCELABLE_PROXY, mProxyPrefs.parcelableProxy);
// get selected key entries
ArrayList<ParcelableKeyRing> keys = new ArrayList<>();
{

View File

@@ -41,6 +41,7 @@ import org.sufficientlysecure.keychain.ui.adapter.ImportKeysListLoader;
import org.sufficientlysecure.keychain.util.InputData;
import org.sufficientlysecure.keychain.util.Log;
import org.sufficientlysecure.keychain.util.ParcelableFileCache.IteratorWithSize;
import org.sufficientlysecure.keychain.util.ParcelableProxy;
import org.sufficientlysecure.keychain.util.Preferences;
import java.io.ByteArrayInputStream;
@@ -65,7 +66,7 @@ public class ImportKeysListFragment extends ListFragment implements
private ImportKeysAdapter mAdapter;
private LoaderState mLoaderState;
private Proxy mProxy;
private ParcelableProxy mProxy;
private static final int LOADER_ID_BYTES = 0;
private static final int LOADER_ID_CLOUD = 1;
@@ -262,7 +263,7 @@ public class ImportKeysListFragment extends ListFragment implements
mAdapter.notifyDataSetChanged();
}
public void loadNew(LoaderState loaderState, Proxy proxy) {
public void loadNew(LoaderState loaderState, ParcelableProxy proxy) {
mProxy = proxy;
mLoaderState = loaderState;

View File

@@ -23,10 +23,13 @@ import android.content.Intent;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceFragment;
import android.preference.PreferenceScreen;
import android.support.v7.widget.Toolbar;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
@@ -292,7 +295,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
mProxyHost.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if (newValue.equals("")) {
if (TextUtils.isEmpty((String) newValue)) {
Notify.create(
ProxyPrefsFragment.this.getActivity(),
R.string.pref_proxy_host_err_invalid,

View File

@@ -27,6 +27,7 @@ import org.sufficientlysecure.keychain.keyimport.Keyserver;
import org.sufficientlysecure.keychain.operations.results.GetKeyResult;
import org.sufficientlysecure.keychain.operations.results.OperationResult;
import org.sufficientlysecure.keychain.util.Log;
import org.sufficientlysecure.keychain.util.ParcelableProxy;
import org.sufficientlysecure.keychain.util.Preferences;
import java.net.Proxy;
@@ -39,18 +40,18 @@ public class ImportKeysListCloudLoader
Preferences.CloudSearchPrefs mCloudPrefs;
String mServerQuery;
private Proxy mProxy;
private ParcelableProxy mParcelableProxy;
private ArrayList<ImportKeysListEntry> mEntryList = new ArrayList<>();
private AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>> mEntryListWrapper;
public ImportKeysListCloudLoader(Context context, String serverQuery, Preferences.CloudSearchPrefs cloudPrefs,
Proxy proxy) {
ParcelableProxy proxy) {
super(context);
mContext = context;
mServerQuery = serverQuery;
mCloudPrefs = cloudPrefs;
mProxy = proxy;
mParcelableProxy = proxy;
}
@Override
@@ -100,7 +101,11 @@ public class ImportKeysListCloudLoader
*/
private void queryServer(boolean enforceFingerprint) {
try {
ArrayList<ImportKeysListEntry> searchResult = CloudSearch.search(mServerQuery, mCloudPrefs, mProxy);
ArrayList<ImportKeysListEntry> searchResult = CloudSearch.search(
mServerQuery,
mCloudPrefs,
mParcelableProxy.getProxy()
);
mEntryList.clear();
// add result to data