From 7bfd830078268c010fdc65ccb2ef4980bf6c8e4d Mon Sep 17 00:00:00 2001 From: Arne Schwabe Date: Fri, 4 May 2012 00:28:52 +0200 Subject: Get vpn list working again, not yet perfect but at least delete works http://code.google.com/p/android/issues/detail?id=3414 is hunting me :( --- src/de/blinkt/openvpn/ProfileManager.java | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) (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 9e5b1602..f8193003 100644 --- a/src/de/blinkt/openvpn/ProfileManager.java +++ b/src/de/blinkt/openvpn/ProfileManager.java @@ -24,20 +24,25 @@ public class ProfileManager { private HashMap profiles=new HashMap(); public static VpnProfile get(String key) { - checkInstance(); + if(instance==null) + return null; return instance.profiles.get(key); } + + private ProfileManager() { } - private static void checkInstance() { - if(instance == null) + private static void checkInstance(Context context) { + if(instance == null) { instance = new ProfileManager(); + instance.loadVPNList(context); + } } - public static ProfileManager getInstance() { - checkInstance(); + public static ProfileManager getInstance(Context context) { + checkInstance(context); return instance; } @@ -56,8 +61,8 @@ public class ProfileManager { return null; } - public void saveProfileList(Activity activity) { - SharedPreferences sharedprefs = activity.getSharedPreferences(PREFS_NAME,Activity.MODE_PRIVATE); + public void saveProfileList(Context context) { + SharedPreferences sharedprefs = context.getSharedPreferences(PREFS_NAME,Activity.MODE_PRIVATE); Editor editor = sharedprefs.edit(); editor.putStringSet("vpnlist", profiles.keySet()); editor.commit(); @@ -89,7 +94,7 @@ public class ProfileManager { } - void loadVPNList(Context context) { + private void loadVPNList(Context context) { profiles = new HashMap(); SharedPreferences settings =context.getSharedPreferences(PREFS_NAME,Activity.MODE_PRIVATE); Set vlist = settings.getStringSet("vpnlist", null); @@ -120,4 +125,14 @@ public class ProfileManager { return profiles.size(); } + + + public void removeProfile(Context context,VpnProfile profile) { + String vpnentry = profile.getUUID().toString(); + profiles.remove(vpnentry); + saveProfileList(context); + context.deleteFile(vpnentry + ".vp"); + + } + } -- cgit v1.2.3