aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/orbot
diff options
context:
space:
mode:
authorAdithya Abraham Philip <adithyaphilip@gmail.com>2015-07-03 09:27:46 +0530
committerAdithya Abraham Philip <adithyaphilip@gmail.com>2015-07-03 20:46:16 +0530
commitaca106e8080dc58a0020b23f671daf1431674afb (patch)
treec5d50a4db3b3cf716905a14b49aad2f98ac12964 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/orbot
parent89f017aa9c1750de7574865baf29d071ff2862a5 (diff)
downloadopen-keychain-aca106e8080dc58a0020b23f671daf1431674afb.tar.gz
open-keychain-aca106e8080dc58a0020b23f671daf1431674afb.tar.bz2
open-keychain-aca106e8080dc58a0020b23f671daf1431674afb.zip
fixed OrbotRequiredDialogActivity not finishing, orbot install dialog style
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/orbot')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/orbot/OrbotHelper.java52
1 files changed, 44 insertions, 8 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/orbot/OrbotHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/orbot/OrbotHelper.java
index b73d90f9b..9d97ba305 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/orbot/OrbotHelper.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/orbot/OrbotHelper.java
@@ -149,22 +149,30 @@ public class OrbotHelper {
* @param fragmentActivity
* @return true if Tor is not enabled or Tor is enabled and Orbot is installed and running, else false
*/
- public static boolean putOrbotInRequiredState(int middleButton, final Runnable middleButtonRunnable,
+ public static boolean putOrbotInRequiredState(final int middleButton,
+ final Runnable middleButtonRunnable,
+ final Runnable dialogDismissRunnable,
Preferences.ProxyPrefs proxyPrefs,
FragmentActivity fragmentActivity) {
- Handler ignoreTorHandler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- // every message received by this handler will mean the middle button was pressed
- middleButtonRunnable.run();
- }
- };
if (!proxyPrefs.torEnabled) {
return true;
}
if (!OrbotHelper.isOrbotInstalled(fragmentActivity)) {
+ Handler ignoreTorHandler = new Handler() {
+ @Override
+ public void handleMessage(Message msg) {
+ switch (msg.what) {
+ case SupportInstallDialogFragment.MESSAGE_MIDDLE_CLICKED:
+ middleButtonRunnable.run();
+ break;
+ case SupportInstallDialogFragment.MESSAGE_DIALOG_DISMISSED:
+ dialogDismissRunnable.run();
+ break;
+ }
+ }
+ };
OrbotHelper.getInstallDialogFragmentWithThirdButton(
new Messenger(ignoreTorHandler),
@@ -174,6 +182,20 @@ public class OrbotHelper {
return false;
} else if (!OrbotHelper.isOrbotRunning()) {
+ Handler ignoreTorHandler = new Handler() {
+ @Override
+ public void handleMessage(Message msg) {
+ switch (msg.what) {
+ case OrbotStartDialogFragment.MESSAGE_MIDDLE_BUTTON:
+ middleButtonRunnable.run();
+ break;
+ case OrbotStartDialogFragment.MESSAGE_DIALOG_DISMISSED:
+ dialogDismissRunnable.run();
+ break;
+ }
+ }
+ };
+
OrbotHelper.getOrbotStartDialogFragment(new Messenger(ignoreTorHandler),
middleButton)
.show(fragmentActivity.getSupportFragmentManager(), "OrbotHelperOrbotStartDialog");
@@ -183,4 +205,18 @@ public class OrbotHelper {
return true;
}
}
+
+ public static boolean putOrbotInRequiredState(final int middleButton,
+ final Runnable middleButtonRunnable,
+ Preferences.ProxyPrefs proxyPrefs,
+ FragmentActivity fragmentActivity) {
+ Runnable emptyRunnable = new Runnable() {
+ @Override
+ public void run() {
+
+ }
+ };
+ return putOrbotInRequiredState(middleButton, middleButtonRunnable, emptyRunnable,
+ proxyPrefs, fragmentActivity);
+ }
}