summaryrefslogtreecommitdiff
path: root/src/de/blinkt/openvpn/OnBootReceiver.java
diff options
context:
space:
mode:
authorArne Schwabe <arne@rfc2549.org>2012-08-12 18:52:38 +0200
committerArne Schwabe <arne@rfc2549.org>2012-08-12 18:52:38 +0200
commitbbf93681fe1383c06edc47c89b50d444df57e56b (patch)
treedef0ecbcf1a22ccacbfcf604d6bd034e650031f6 /src/de/blinkt/openvpn/OnBootReceiver.java
parent531aadf63b30cdde3604e583a3df03dcbd4521d8 (diff)
Implement starting a VPN on boot. (closes issue #62)
Diffstat (limited to 'src/de/blinkt/openvpn/OnBootReceiver.java')
-rw-r--r--src/de/blinkt/openvpn/OnBootReceiver.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/de/blinkt/openvpn/OnBootReceiver.java b/src/de/blinkt/openvpn/OnBootReceiver.java
new file mode 100644
index 00000000..032501b6
--- /dev/null
+++ b/src/de/blinkt/openvpn/OnBootReceiver.java
@@ -0,0 +1,33 @@
+package de.blinkt.openvpn;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+
+
+public class OnBootReceiver extends BroadcastReceiver {
+
+ // Debug: am broadcast -a android.intent.action.BOOT_COMPLETED
+ @Override
+ public void onReceive(Context context, Intent intent) {
+
+ final String action = intent.getAction();
+
+ if(Intent.ACTION_BOOT_COMPLETED.equals(action)) {
+ VpnProfile bootProfile = ProfileManager.getOnBootProfile(context);
+ if(bootProfile != null) {
+ lauchVPN(bootProfile, context);
+ }
+ }
+ }
+
+ void lauchVPN(VpnProfile profile,Context context) {
+ Intent startVpnIntent = new Intent(Intent.ACTION_MAIN);
+ startVpnIntent.setClass(context, LaunchVPN.class);
+ startVpnIntent.putExtra(LaunchVPN.EXTRA_KEY,profile.getUUIDString());
+ startVpnIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ startVpnIntent.putExtra(LaunchVPN.EXTRA_HIDELOG, true);
+
+ context.startActivity(startVpnIntent);
+ }
+}