summaryrefslogtreecommitdiff
path: root/main/src/ui/java/de/blinkt/openvpn/views/DefaultVPNListPreference.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/ui/java/de/blinkt/openvpn/views/DefaultVPNListPreference.java')
-rw-r--r--main/src/ui/java/de/blinkt/openvpn/views/DefaultVPNListPreference.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/main/src/ui/java/de/blinkt/openvpn/views/DefaultVPNListPreference.java b/main/src/ui/java/de/blinkt/openvpn/views/DefaultVPNListPreference.java
new file mode 100644
index 00000000..e8328f5c
--- /dev/null
+++ b/main/src/ui/java/de/blinkt/openvpn/views/DefaultVPNListPreference.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2012-2018 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
+package de.blinkt.openvpn.views;
+
+import android.content.Context;
+import android.preference.ListPreference;
+import android.util.AttributeSet;
+import de.blinkt.openvpn.VpnProfile;
+import de.blinkt.openvpn.core.ProfileManager;
+
+import java.util.Collection;
+
+public class DefaultVPNListPreference extends ListPreference {
+ public DefaultVPNListPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ setVPNs(context);
+ }
+
+ private void setVPNs(Context c) {
+ ProfileManager pm = ProfileManager.getInstance(c);
+ Collection<VpnProfile> profiles = pm.getProfiles();
+ CharSequence[] entries = new CharSequence[profiles.size()];
+ CharSequence[] entryValues = new CharSequence[profiles.size()];;
+
+ int i=0;
+ for (VpnProfile p: profiles)
+ {
+ entries[i]=p.getName();
+ entryValues[i]=p.getUUIDString();
+ i++;
+ }
+
+ setEntries(entries);
+ setEntryValues(entryValues);
+ }
+}