From 65ca77c3cbb5b8bece96e16ff4cd5040ad7884a3 Mon Sep 17 00:00:00 2001 From: Adithya Abraham Philip Date: Thu, 11 Jun 2015 01:34:35 +0530 Subject: orbot dialog fragments added --- .../keychain/ui/ImportKeysActivity.java | 40 +++++++++++++--------- 1 file changed, 24 insertions(+), 16 deletions(-) (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java') 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 f78c19d13..b41ca58b4 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java @@ -20,13 +20,13 @@ package org.sufficientlysecure.keychain.ui; import android.content.Intent; import android.net.Uri; import android.os.Bundle; +import android.os.Handler; import android.os.Message; import android.support.v4.app.Fragment; 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; @@ -43,8 +43,8 @@ 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 org.sufficientlysecure.keychain.util.orbot.OrbotHelper; import java.io.IOException; import java.net.Proxy; @@ -353,18 +353,33 @@ public class ImportKeysActivity extends BaseNfcActivity } } - public void loadCallback(ImportKeysListFragment.LoaderState loaderState) { + public void loadCallback(final ImportKeysListFragment.LoaderState 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 + // this handle will set tor to be ignored whenever a message is received + Handler ignoreTorHandler = new Handler() { + @Override + public void handleMessage(Message msg) { + // disables Tor until Activity is recreated + mProxyPrefs = new Preferences.ProxyPrefs(false, false, null, -1, null); + mListFragment.loadNew(loaderState, mProxyPrefs.parcelableProxy); + } + }; + + if(mProxyPrefs.torEnabled && !OrbotHelper.isOrbotInstalled(this)) { + + OrbotHelper.getInstallDialogFragmentWithThirdButton( + new Messenger(ignoreTorHandler), + R.string.orbot_install_dialog_ignore_tor + ).show(getSupportFragmentManager(), "orbotInstallDialog"); - if(mProxyPrefs.torEnabled && !helper.isOrbotInstalled()) { - helper.promptToInstall(this); return; } - if(mProxyPrefs.torEnabled && !helper.isOrbotRunning()) { - helper.requestOrbotStart(this); + + if(mProxyPrefs.torEnabled && !OrbotHelper.isOrbotRunning()) { + OrbotHelper.getOrbotStartDialogFragment(new Messenger(ignoreTorHandler), + R.string.orbot_install_dialog_ignore_tor) + .show(getSupportFragmentManager(), "orbotStartDialog"); return; } } @@ -372,13 +387,6 @@ public class ImportKeysActivity extends BaseNfcActivity mListFragment.loadNew(loaderState, mProxyPrefs.parcelableProxy); } - /** - * disables use of Tor as proxy for this session - */ - private void disableTorForSession() { - mProxyPrefs = new Preferences.ProxyPrefs(false, false, null, -1, null); - } - private void handleMessage(Message message) { if (message.arg1 == ServiceProgressHandler.MessageStatus.OKAY.ordinal()) { // get returned data bundle -- cgit v1.2.3