From 26db3cd2398e0ae80fcc53e7933f2de747c074b4 Mon Sep 17 00:00:00 2001 From: Fup Duck Date: Tue, 23 Jan 2018 15:55:00 +0100 Subject: add custom provider option --- .../se/leap/bitmaskclient/ProviderManager.java | 50 +++++++++++----------- 1 file changed, 25 insertions(+), 25 deletions(-) (limited to 'app/src/main/java/se/leap/bitmaskclient/ProviderManager.java') diff --git a/app/src/main/java/se/leap/bitmaskclient/ProviderManager.java b/app/src/main/java/se/leap/bitmaskclient/ProviderManager.java index 62c04c1a..ed41be67 100644 --- a/app/src/main/java/se/leap/bitmaskclient/ProviderManager.java +++ b/app/src/main/java/se/leap/bitmaskclient/ProviderManager.java @@ -15,9 +15,11 @@ import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; +import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.Iterator; +import java.util.List; import java.util.Set; /** @@ -25,15 +27,14 @@ import java.util.Set; */ public class ProviderManager implements AdapteeCollection { - private static final String TAG = ProviderManager.class.getName(); - private AssetManager assets_manager; + private AssetManager assetsManager; private File externalFilesDir; private Set defaultProviders; private Set customProviders; private static ProviderManager instance; - final protected static String URLS = "urls"; + final private static String URLS = "urls"; public static ProviderManager getInstance(AssetManager assetsManager, File externalFilesDir) { if (instance == null) @@ -42,8 +43,8 @@ public class ProviderManager implements AdapteeCollection { return instance; } - public ProviderManager(AssetManager assetManager, File externalFilesDir) { - this.assets_manager = assetManager; + private ProviderManager(AssetManager assetManager, File externalFilesDir) { + this.assetsManager = assetManager; addDefaultProviders(assetManager); addCustomProviders(externalFilesDir); } @@ -57,7 +58,7 @@ public class ProviderManager implements AdapteeCollection { } private Set providersFromAssets(String directory, String[] relativeFilePaths) { - Set providers = new HashSet(); + Set providers = new HashSet<>(); for (String file : relativeFilePaths) { String mainUrl = null; @@ -65,10 +66,10 @@ public class ProviderManager implements AdapteeCollection { String providerDefinition = null; try { String provider = file.substring(0, file.length() - ".url".length()); - InputStream provider_file = assets_manager.open(directory + "/" + file); + InputStream provider_file = assetsManager.open(directory + "/" + file); mainUrl = extractMainUrlFromInputStream(provider_file); - certificate = ConfigHelper.loadInputStreamAsString(assets_manager.open(provider + ".pem")); - providerDefinition = ConfigHelper.loadInputStreamAsString(assets_manager.open(provider + ".json")); + certificate = ConfigHelper.loadInputStreamAsString(assetsManager.open(provider + ".pem")); + providerDefinition = ConfigHelper.loadInputStreamAsString(assetsManager.open(provider + ".json")); } catch (IOException e) { e.printStackTrace(); } @@ -91,11 +92,11 @@ public class ProviderManager implements AdapteeCollection { } private Set providersFromFiles(String[] files) { - Set providers = new HashSet(); + Set providers = new HashSet<>(); try { for (String file : files) { - String main_url = extractMainUrlFromInputStream(new FileInputStream(externalFilesDir.getAbsolutePath() + "/" + file)); - providers.add(new Provider(new URL(main_url))); + String mainUrl = extractMainUrlFromInputStream(new FileInputStream(externalFilesDir.getAbsolutePath() + "/" + file)); + providers.add(new Provider(new URL(mainUrl))); } } catch (MalformedURLException | FileNotFoundException e) { e.printStackTrace(); @@ -104,12 +105,12 @@ public class ProviderManager implements AdapteeCollection { return providers; } - private String extractMainUrlFromInputStream(InputStream input_stream) { + private String extractMainUrlFromInputStream(InputStream inputStream) { String mainUrl = ""; - JSONObject file_contents = inputStreamToJson(input_stream); - if (file_contents != null) - mainUrl = file_contents.optString(Provider.MAIN_URL); + JSONObject fileContents = inputStreamToJson(inputStream); + if (fileContents != null) + mainUrl = fileContents.optString(Provider.MAIN_URL); return mainUrl; } @@ -126,12 +127,13 @@ public class ProviderManager implements AdapteeCollection { return json; } - public Set providers() { - Set all_providers = new HashSet(); - all_providers.addAll(defaultProviders); + public List providers() { + List allProviders = new ArrayList<>(); + allProviders.addAll(defaultProviders); if(customProviders != null) - all_providers.addAll(customProviders); - return all_providers; + allProviders.addAll(customProviders); + allProviders.add(new Provider()); + return allProviders; } @Override @@ -151,9 +153,7 @@ public class ProviderManager implements AdapteeCollection { @Override public boolean add(Provider element) { - if (!defaultProviders.contains(element)) - return customProviders.add(element); - else return true; + return !defaultProviders.contains(element) || customProviders.add(element); } @Override @@ -179,7 +179,7 @@ public class ProviderManager implements AdapteeCollection { customProviders.clear(); } - protected void saveCustomProvidersToFile() { + void saveCustomProvidersToFile() { try { for (Provider provider : customProviders) { File providerFile = new File(externalFilesDir, provider.getName() + ".json"); -- cgit v1.2.3