aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java31
1 files changed, 29 insertions, 2 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java
index bc83b05b0..b2b6c224a 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java
@@ -26,6 +26,7 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
+import info.guardianproject.onionkit.ui.OrbotHelper;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.intents.OpenKeychainIntents;
@@ -42,6 +43,7 @@ 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.Preferences;
import java.io.IOException;
import java.util.ArrayList;
@@ -87,11 +89,14 @@ public class ImportKeysActivity extends BaseNfcActivity
private ArrayList<ParcelableKeyRing> mKeyList;
private CryptoOperationHelper<ImportKeyringParcel, ImportKeyResult> mOperationHelper;
+ private Preferences.ProxyPrefs mProxyPrefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ mProxyPrefs = Preferences.getPreferences(this).getProxyPrefs();
+
mImportButton = findViewById(R.id.import_import);
mImportButton.setOnClickListener(new OnClickListener() {
@Override
@@ -224,7 +229,7 @@ public class ImportKeysActivity extends BaseNfcActivity
Notify.Style.WARN).show(mTopFragment);
// we just set the keyserver
startCloudFragment(savedInstanceState, null, false, keyserver);
- // it's not necessary to set the keyserver for ImportKeysListFragment since
+ // we don't set the keyserver for ImportKeysListFragment since
// it'll be taken care of by ImportKeysCloudFragment when the user clicks
// the search button
startListFragment(savedInstanceState, null, null, null, null);
@@ -347,7 +352,29 @@ public class ImportKeysActivity extends BaseNfcActivity
}
public void loadCallback(ImportKeysListFragment.LoaderState loaderState) {
- mListFragment.loadNew(loaderState);
+ if (loaderState instanceof ImportKeysListFragment.CloudLoaderState) {
+ // do the tor check
+ OrbotHelper helper = new OrbotHelper(this);
+ // TODO: Add callbacks by modifying OrbotHelper so we know if the user wants to not use Tor
+
+ if(mProxyPrefs.torEnabled && !helper.isOrbotInstalled()) {
+ helper.promptToInstall(this);
+ return;
+ }
+ if(mProxyPrefs.torEnabled && !helper.isOrbotRunning()) {
+ helper.requestOrbotStart(this);
+ return;
+ }
+ }
+
+ mListFragment.loadNew(loaderState, mProxyPrefs.proxy);
+ }
+
+ /**
+ * disables use of Tor as proxy for this session
+ */
+ private void disableTorForSession() {
+ mProxyPrefs = new Preferences.ProxyPrefs(false, false, null);
}
private void handleMessage(Message message) {