diff options
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/fragments/TetheringDialog.java')
-rw-r--r-- | app/src/main/java/se/leap/bitmaskclient/fragments/TetheringDialog.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/fragments/TetheringDialog.java b/app/src/main/java/se/leap/bitmaskclient/fragments/TetheringDialog.java index 2e1e8f95..52ed16f7 100644 --- a/app/src/main/java/se/leap/bitmaskclient/fragments/TetheringDialog.java +++ b/app/src/main/java/se/leap/bitmaskclient/fragments/TetheringDialog.java @@ -25,6 +25,7 @@ import java.util.Observer; import butterknife.ButterKnife; import butterknife.InjectView; +import de.blinkt.openvpn.core.VpnStatus; import se.leap.bitmaskclient.R; import se.leap.bitmaskclient.firewall.FirewallManager; import se.leap.bitmaskclient.tethering.TetheringObservable; @@ -141,9 +142,15 @@ public class TetheringDialog extends AppCompatDialogFragment implements Observer TetheringObservable.allowVpnUsbTethering(dataset[1].checked); TetheringObservable.allowVpnBluetoothTethering(dataset[2].checked); FirewallManager firewallManager = new FirewallManager(getContext().getApplicationContext(), false); - firewallManager.startTethering(); - }) - .setNegativeButton(R.string.cancel, (dialog, id) -> dialog.cancel()); + if (VpnStatus.isVPNActive()) { + if (TetheringObservable.getInstance().getTetheringState().hasAnyDeviceTetheringEnabled() && + TetheringObservable.getInstance().getTetheringState().hasAnyVpnTetheringAllowed()) { + firewallManager.startTethering(); + } else { + firewallManager.stopTethering(); + } + } + }).setNegativeButton(R.string.cancel, (dialog, id) -> dialog.cancel()); return builder.create(); } |