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
commit5e7b841c8d5111e6b63e74944903a168939ca723 (patch)
treef782a9d293893393ce9222a7fe9b29ae46ef91d9 /src/de/blinkt/openvpn/OnBootReceiver.java
parent5438e464aaf326973938fee31d91bfdd7ece8f63 (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);
+ }
+}