diff options
author | Arne Schwabe <arne@rfc2549.org> | 2012-08-12 18:52:38 +0200 |
---|---|---|
committer | Arne Schwabe <arne@rfc2549.org> | 2012-08-12 18:52:38 +0200 |
commit | 5e7b841c8d5111e6b63e74944903a168939ca723 (patch) | |
tree | f782a9d293893393ce9222a7fe9b29ae46ef91d9 /src/de/blinkt/openvpn/OnBootReceiver.java | |
parent | 5438e464aaf326973938fee31d91bfdd7ece8f63 (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.java | 33 |
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); + } +} |