From bbf93681fe1383c06edc47c89b50d444df57e56b Mon Sep 17 00:00:00 2001 From: Arne Schwabe Date: Sun, 12 Aug 2012 18:52:38 +0200 Subject: Implement starting a VPN on boot. (closes issue #62) --- src/de/blinkt/openvpn/ProfileManager.java | 36 +++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/de/blinkt/openvpn/ProfileManager.java') diff --git a/src/de/blinkt/openvpn/ProfileManager.java b/src/de/blinkt/openvpn/ProfileManager.java index b1321b97..5d498c67 100644 --- a/src/de/blinkt/openvpn/ProfileManager.java +++ b/src/de/blinkt/openvpn/ProfileManager.java @@ -14,12 +14,17 @@ import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; +import android.preference.PreferenceManager; public class ProfileManager { private static final String PREFS_NAME = "VPNList"; + private static final String ONBOOTPROFILE = "onBootProfile"; + + + private static ProfileManager instance; private HashMap profiles=new HashMap(); @@ -47,6 +52,37 @@ public class ProfileManager { return instance; } + public static void onBootDelete(Context c) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(c); + Editor prefsedit = prefs.edit(); + prefsedit.putString(ONBOOTPROFILE, null); + prefsedit.apply(); + + } + + public static void setOnBootProfile(Context c, VpnProfile bootprofile) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(c); + Editor prefsedit = prefs.edit(); + + prefsedit.putString(ONBOOTPROFILE, bootprofile.getUUIDString()); + prefsedit.apply(); + + } + + public static VpnProfile getOnBootProfile(Context c) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(c); + + boolean useStartOnBoot = prefs.getBoolean("restartvpnonboot", false); + + + String mBootProfileUUID = prefs.getString(ONBOOTPROFILE,null); + if(useStartOnBoot && mBootProfileUUID!=null) + return get(c, mBootProfileUUID); + else + return null; + } + + public Collection getProfiles() { -- cgit v1.2.3