From bfa89faf60d1c88250745f617ff38b13e2a7e34d Mon Sep 17 00:00:00 2001 From: cyBerta Date: Sun, 26 Jun 2022 19:19:31 +0200 Subject: update ObfsvpnClient to latest obfsvpn api: handle bubbled up errors --- .../pluggableTransports/ObfsVpnClient.java | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'app/src/main/java/se/leap/bitmaskclient/pluggableTransports') diff --git a/app/src/main/java/se/leap/bitmaskclient/pluggableTransports/ObfsVpnClient.java b/app/src/main/java/se/leap/bitmaskclient/pluggableTransports/ObfsVpnClient.java index 69210881..632dc878 100644 --- a/app/src/main/java/se/leap/bitmaskclient/pluggableTransports/ObfsVpnClient.java +++ b/app/src/main/java/se/leap/bitmaskclient/pluggableTransports/ObfsVpnClient.java @@ -29,7 +29,14 @@ public class ObfsVpnClient implements Observer { public void start() { synchronized (LOCK) { Log.d(TAG, "aquired LOCK"); - new Thread(obfsVpnClient::start).start(); + new Thread(() -> { + try { + obfsVpnClient.start(); + } catch (Exception e) { + e.printStackTrace(); + } + }).start(); + try { Thread.sleep(500); } catch (InterruptedException e) { @@ -42,10 +49,21 @@ public class ObfsVpnClient implements Observer { public void stop() { synchronized (LOCK) { Log.d(TAG, "stopping obfsVpnClient..."); - obfsVpnClient.stop(); + try { + obfsVpnClient.stop(); + Thread.sleep(500); + } catch (Exception e) { + e.printStackTrace(); + VpnStatus.logError("[obfsvpn] " + e.getLocalizedMessage()); + } + Log.d(TAG, "stopping obfsVpnClient releasing LOCK ..."); } } + public boolean isStarted() { + return obfsVpnClient.isStarted(); + } + @Override public void update(Observable observable, Object arg) { if (observable instanceof EipStatus) { -- cgit v1.2.3