summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/blinkt/openvpn/OnBootReceiver.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/de/blinkt/openvpn/OnBootReceiver.java')
-rw-r--r--app/src/main/java/de/blinkt/openvpn/OnBootReceiver.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/app/src/main/java/de/blinkt/openvpn/OnBootReceiver.java b/app/src/main/java/de/blinkt/openvpn/OnBootReceiver.java
new file mode 100644
index 00000000..32d14b1b
--- /dev/null
+++ b/app/src/main/java/de/blinkt/openvpn/OnBootReceiver.java
@@ -0,0 +1,34 @@
+package de.blinkt.openvpn;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import de.blinkt.openvpn.core.ProfileManager;
+
+
+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) {
+ launchVPN(bootProfile, context);
+ }
+ }
+ }
+
+ void launchVPN(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);
+ }
+}