diff options
author | cyberta <cyberta@riseup.net> | 2022-05-20 11:19:12 +0000 |
---|---|---|
committer | cyberta <cyberta@riseup.net> | 2022-05-20 11:19:12 +0000 |
commit | 39cf5b1c41af8060af836b93fa9616bbb9c6a60b (patch) | |
tree | 2ef16c29798b8712bfec1b923a7fb3e2422952bb /app/src/main/java/se/leap/bitmaskclient/tor/TorServiceCommand.java | |
parent | 18d3cc0ccbaf3bb9e797fcd542d180669b92dbd8 (diff) | |
parent | 0ebc7e3a9e84f598a0221fe64f51d0e7906ac377 (diff) |
Merge branch 'vpn_cert_update' into 'master'
improve VPN cert update
Closes #9087
See merge request leap/bitmask_android!184
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/tor/TorServiceCommand.java')
-rw-r--r-- | app/src/main/java/se/leap/bitmaskclient/tor/TorServiceCommand.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/tor/TorServiceCommand.java b/app/src/main/java/se/leap/bitmaskclient/tor/TorServiceCommand.java index 68988b67..b99abb3d 100644 --- a/app/src/main/java/se/leap/bitmaskclient/tor/TorServiceCommand.java +++ b/app/src/main/java/se/leap/bitmaskclient/tor/TorServiceCommand.java @@ -42,7 +42,9 @@ public class TorServiceCommand { public static boolean startTorService(Context context, String action) throws InterruptedException { Log.d(TAG, "startTorService"); try { - waitUntil(TorServiceCommand::isNotCancelled, 30); + if (TorStatusObservable.isCancelled()) { + waitUntil(TorServiceCommand::isNotCancelled, 30); + } } catch (TimeoutException e) { e.printStackTrace(); } @@ -79,7 +81,8 @@ public class TorServiceCommand { @WorkerThread public static void stopTorService(Context context) { - if (TorStatusObservable.getStatus() == TorStatusObservable.TorStatus.OFF) { + if (TorStatusObservable.getStatus() == TorStatusObservable.TorStatus.STOPPING || + TorStatusObservable.getStatus() == TorStatusObservable.TorStatus.OFF) { return; } TorStatusObservable.markCancelled(); @@ -100,6 +103,9 @@ public class TorServiceCommand { } public static void stopTorServiceAsync(Context context) { + if (!TorStatusObservable.isRunning()) { + return; + } TorStatusObservable.markCancelled(); new Thread(() -> stopTorService(context)).start(); } |