diff options
author | Adithya Abraham Philip <adithyaphilip@gmail.com> | 2015-07-03 09:27:46 +0530 |
---|---|---|
committer | Adithya Abraham Philip <adithyaphilip@gmail.com> | 2015-07-03 20:46:16 +0530 |
commit | aca106e8080dc58a0020b23f671daf1431674afb (patch) | |
tree | c5d50a4db3b3cf716905a14b49aad2f98ac12964 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/orbot | |
parent | 89f017aa9c1750de7574865baf29d071ff2862a5 (diff) | |
download | open-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.java | 52 |
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); + } } |