summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/fragments
diff options
context:
space:
mode:
authorcyberta <cyberta@riseup.net>2020-01-30 16:14:22 -0600
committercyberta <cyberta@riseup.net>2020-01-30 16:14:22 -0600
commit97a117cb3bbc022ee16008dea9896a8dfea7c681 (patch)
tree8e3684e0012d3148ed1598ab6f839a562660cd13 /app/src/main/java/se/leap/bitmaskclient/fragments
parentb9e4195573da146d48e5921c65dc57273d94ccd2 (diff)
implement usb tethering
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/fragments')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/fragments/TetheringDialog.java13
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();
}