summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/EipFragment.java
diff options
context:
space:
mode:
authorParménides GV <parmegv@sdf.org>2014-12-17 12:41:53 +0100
committerParménides GV <parmegv@sdf.org>2014-12-17 12:41:53 +0100
commit0cc14918f54619fd39ef4297ddb9564ba981772a (patch)
tree40cb2d14f67cf22a2b4a516403c02248cd5c0a66 /app/src/main/java/se/leap/bitmaskclient/EipFragment.java
parent2571d03aca9f240017dd1f00e0963abc13b35890 (diff)
parentd58b67f214bdd206cae28911073e450ec593f3dc (diff)
Merge branch 'develop' into release-0.8.1
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/EipFragment.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/EipFragment.java20
1 files changed, 14 insertions, 6 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/EipFragment.java b/app/src/main/java/se/leap/bitmaskclient/EipFragment.java
index 92d2a8bd..420da7a1 100644
--- a/app/src/main/java/se/leap/bitmaskclient/EipFragment.java
+++ b/app/src/main/java/se/leap/bitmaskclient/EipFragment.java
@@ -26,6 +26,7 @@ import de.blinkt.openvpn.activities.DisconnectVPN;
import se.leap.bitmaskclient.eip.Constants;
import se.leap.bitmaskclient.eip.EIP;
import se.leap.bitmaskclient.eip.EipStatus;
+import se.leap.bitmaskclient.eip.VoidVpnService;
public class EipFragment extends Fragment implements Observer {
@@ -160,7 +161,7 @@ public class EipFragment extends Fragment implements Observer {
if(eip_status.isConnecting()) {
askPendingStartCancellation();
} else if(eip_status.isConnected()) {
- stopEIP();
+ askToStopEIP();
}
}
@@ -171,7 +172,7 @@ public class EipFragment extends Fragment implements Observer {
.setPositiveButton((R.string.yes), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
- stopEIP();
+ askToStopEIP();
}
})
.setNegativeButton(parent_activity.getString(R.string.no), new DialogInterface.OnClickListener() {
@@ -197,7 +198,15 @@ public class EipFragment extends Fragment implements Observer {
eipCommand(Constants.ACTION_START_EIP);
}
- protected void stopEIP() {
+ private void stopEIP() {
+ if(eip_status.isConnecting())
+ VoidVpnService.stop();
+ Intent disconnect_vpn = new Intent(parent_activity, DisconnectVPN.class);
+ parent_activity.startActivityForResult(disconnect_vpn, EIP.DISCONNECT);
+ eip_status.setDisconnecting();
+ }
+
+ protected void askToStopEIP() {
hideProgressBar();
String status = parent_activity.getString(R.string.eip_state_not_connected);
@@ -306,14 +315,13 @@ public class EipFragment extends Fragment implements Observer {
case Activity.RESULT_OK:
break;
case Activity.RESULT_CANCELED:
+
break;
}
} else if (request.equals(Constants.ACTION_STOP_EIP)) {
switch (resultCode){
case Activity.RESULT_OK:
- Intent disconnect_vpn = new Intent(parent_activity, DisconnectVPN.class);
- parent_activity.startActivityForResult(disconnect_vpn, EIP.DISCONNECT);
- eip_status.setDisconnecting();
+ stopEIP();
break;
case Activity.RESULT_CANCELED:
break;