diff options
author | cyBerta <cyberta@riseup.net> | 2019-09-20 00:26:27 +0200 |
---|---|---|
committer | cyBerta <cyberta@riseup.net> | 2019-09-20 00:26:27 +0200 |
commit | e52d759c635a25969079503991e825b3f373cbcc (patch) | |
tree | 37c57875ccee34c05f9a904be4f645c31ec26066 | |
parent | 67a2040e96048e164b592fab4b0e8f123a7dd68f (diff) |
restart vpn after pluggableTransports was selected or deselected
-rw-r--r-- | app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java b/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java index 380b765e..7d97dfbb 100644 --- a/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java +++ b/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java @@ -44,6 +44,7 @@ import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; +import de.blinkt.openvpn.core.VpnStatus; import se.leap.bitmaskclient.EipFragment; import se.leap.bitmaskclient.FragmentManagerEnhanced; import se.leap.bitmaskclient.MainActivity; @@ -51,6 +52,7 @@ import se.leap.bitmaskclient.Provider; import se.leap.bitmaskclient.ProviderListActivity; import se.leap.bitmaskclient.ProviderObservable; import se.leap.bitmaskclient.R; +import se.leap.bitmaskclient.eip.EipCommand; import se.leap.bitmaskclient.fragments.AboutFragment; import se.leap.bitmaskclient.fragments.AlwaysOnDialog; import se.leap.bitmaskclient.fragments.LogFragment; @@ -263,8 +265,15 @@ public class NavigationDrawerFragment extends Fragment { if (ProviderObservable.getInstance().getCurrentProvider().supportsPluggableTransports()) { useBridges.setVisibility(VISIBLE); useBridges.setChecked(getUsePluggableTransports(getContext())); - useBridges.setOnCheckedChangeListener((buttonView, isChecked) -> - usePluggableTransports(getContext(), isChecked)); + useBridges.setOnCheckedChangeListener((buttonView, isChecked) -> { + usePluggableTransports(getContext(), isChecked); + if (VpnStatus.isVPNActive()) { + EipCommand.startVPN(getContext(), false); + closeDrawerWithDelay(); + } + }); + + } else { useBridges.setVisibility(GONE); } |