diff options
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/firewall/FirewallManager.java')
-rw-r--r-- | app/src/main/java/se/leap/bitmaskclient/firewall/FirewallManager.java | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/firewall/FirewallManager.java b/app/src/main/java/se/leap/bitmaskclient/firewall/FirewallManager.java index 30ecebea..c148497b 100644 --- a/app/src/main/java/se/leap/bitmaskclient/firewall/FirewallManager.java +++ b/app/src/main/java/se/leap/bitmaskclient/firewall/FirewallManager.java @@ -94,7 +94,9 @@ public class FirewallManager implements FirewallCallback, Observer { public void start() { if (!isRunning) { isRunning = true; - startIPv6Firewall(); + if (PreferenceHelper.useIpv6Firewall(context)) { + startIPv6Firewall(); + } TetheringState tetheringState = TetheringObservable.getInstance().getTetheringState(); if (tetheringState.hasAnyDeviceTetheringEnabled() && tetheringState.hasAnyVpnTetheringAllowed()) { startTethering(); @@ -105,8 +107,13 @@ public class FirewallManager implements FirewallCallback, Observer { public void stop() { isRunning = false; - stopIPv6Firewall(); - stopTethering(); + if (PreferenceHelper.useIpv6Firewall(context)) { + stopIPv6Firewall(); + } + TetheringState tetheringState = TetheringObservable.getInstance().getTetheringState(); + if (tetheringState.hasAnyDeviceTetheringEnabled() && tetheringState.hasAnyVpnTetheringAllowed()) { + stopTethering(); + } } public void startTethering() { @@ -119,12 +126,12 @@ public class FirewallManager implements FirewallCallback, Observer { task.execute(); } - private void startIPv6Firewall() { + public void startIPv6Firewall() { StartIPv6FirewallTask task = new StartIPv6FirewallTask(this); task.execute(); } - private void stopIPv6Firewall() { + public void stopIPv6Firewall() { ShutdownIPv6FirewallTask task = new ShutdownIPv6FirewallTask(this); task.execute(); } |