diff options
author | Parménides GV <parmegv@sdf.org> | 2015-06-10 19:45:06 +0200 |
---|---|---|
committer | Parménides GV <parmegv@sdf.org> | 2015-06-10 19:45:06 +0200 |
commit | 569defe3213fc4f9d6a61a98e35c794b2fe0d311 (patch) | |
tree | 1e9b01cbd5878bc5d3a905f6239916dc0185ccb9 /app/src/production/java/se/leap/bitmaskclient/ProviderListContent.java | |
parent | 0e8fccf9ba9e509f1aaa65e58bc2cfd4754f90f4 (diff) | |
parent | 46638f7101e752be76bcafe061f4b5e68ee88088 (diff) |
Merge branch 'develop' into release-0.9.4
Diffstat (limited to 'app/src/production/java/se/leap/bitmaskclient/ProviderListContent.java')
-rw-r--r-- | app/src/production/java/se/leap/bitmaskclient/ProviderListContent.java | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/app/src/production/java/se/leap/bitmaskclient/ProviderListContent.java b/app/src/production/java/se/leap/bitmaskclient/ProviderListContent.java new file mode 100644 index 00000000..6466e769 --- /dev/null +++ b/app/src/production/java/se/leap/bitmaskclient/ProviderListContent.java @@ -0,0 +1,81 @@ +/** + * Copyright (c) 2013 LEAP Encryption Access Project and contributers + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package se.leap.bitmaskclient; + +import java.util.*; +import java.net.*; + +/** + * Models the provider list shown in the ConfigurationWizard. + * + * @author parmegv + */ +public class ProviderListContent { + + public static List<ProviderItem> ITEMS = new ArrayList<ProviderItem>(); + + public static Map<String, ProviderItem> ITEM_MAP = new HashMap<String, ProviderItem>(); + + /** + * Adds a new provider item to the end of the items map, and to the items list. + * + * @param item + */ + public static void addItem(ProviderItem item) { + ITEMS.add(item); + ITEM_MAP.put(String.valueOf(ITEMS.size()), item); + } + + public static void removeItem(ProviderItem item) { + ITEMS.remove(item); + ITEM_MAP.remove(item); + } + + /** + * A provider item. + */ + public static class ProviderItem { + final public static String CUSTOM = "custom"; + private String provider_main_url; + private String name; + + /** + * @param name of the provider + * @param provider_main_url used to download provider.json file of the provider + */ + public ProviderItem(String name, String provider_main_url) { + this.name = name; + this.provider_main_url = provider_main_url; + } + + public String name() { + return name; + } + + public String providerMainUrl() { + return provider_main_url; + } + + public String domain() { + try { + return new URL(provider_main_url).getHost(); + } catch (MalformedURLException e) { + return provider_main_url.replaceFirst("http[s]?://", "").replaceFirst("/.*", ""); + } + } + } +} |