From c4df01ab94c85ecf4a106b187a03e4859a857b1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Tue, 7 Oct 2014 21:17:12 +0200 Subject: Set up early routes on boot too. --- .../se/leap/bitmaskclient/VoidVpnLauncher.java | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 app/src/main/java/se/leap/bitmaskclient/VoidVpnLauncher.java (limited to 'app/src/main/java/se/leap/bitmaskclient/VoidVpnLauncher.java') diff --git a/app/src/main/java/se/leap/bitmaskclient/VoidVpnLauncher.java b/app/src/main/java/se/leap/bitmaskclient/VoidVpnLauncher.java new file mode 100644 index 00000000..23e61eab --- /dev/null +++ b/app/src/main/java/se/leap/bitmaskclient/VoidVpnLauncher.java @@ -0,0 +1,36 @@ +package se.leap.bitmaskclient; + +import android.app.Activity; +import android.content.Intent; +import android.net.VpnService; +import android.os.Bundle; + +public class VoidVpnLauncher extends Activity { + + private static final int VPN_USER_PERMISSION= 71; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setUp(); + } + + public void setUp() { + Intent blocking_intent = VpnService.prepare(getApplicationContext()); // stops the VPN connection created by another application. + if(blocking_intent != null) + startActivityForResult(blocking_intent, VPN_USER_PERMISSION); + else { + onActivityResult(VPN_USER_PERMISSION, RESULT_OK, null); + } + } + + protected void onActivityResult(int requestCode, int resultCode, Intent data){ + if(requestCode == VPN_USER_PERMISSION) { + if(resultCode == RESULT_OK) { + Intent void_vpn_service = new Intent(getApplicationContext(), VoidVpnService.class); + void_vpn_service.setAction(VoidVpnService.START_BLOCKING_VPN_PROFILE); + startService(void_vpn_service); + } + } + } +} -- cgit v1.2.3 From 8566f7c6f3a5ee3eb668964e3dffb4a753db5b38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Tue, 7 Oct 2014 21:33:55 +0200 Subject: Finish VoidVpnLauncher activity. It was remaining there, with an empty layout. --- app/src/main/java/se/leap/bitmaskclient/VoidVpnLauncher.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'app/src/main/java/se/leap/bitmaskclient/VoidVpnLauncher.java') diff --git a/app/src/main/java/se/leap/bitmaskclient/VoidVpnLauncher.java b/app/src/main/java/se/leap/bitmaskclient/VoidVpnLauncher.java index 23e61eab..3b286fbf 100644 --- a/app/src/main/java/se/leap/bitmaskclient/VoidVpnLauncher.java +++ b/app/src/main/java/se/leap/bitmaskclient/VoidVpnLauncher.java @@ -7,7 +7,7 @@ import android.os.Bundle; public class VoidVpnLauncher extends Activity { - private static final int VPN_USER_PERMISSION= 71; + private static final int VPN_USER_PERMISSION = 71; @Override protected void onCreate(Bundle savedInstanceState) { @@ -32,5 +32,6 @@ public class VoidVpnLauncher extends Activity { startService(void_vpn_service); } } + finish(); } } -- cgit v1.2.3