diff options
| author | cyBerta <cyberta@riseup.net> | 2024-10-10 20:19:04 +0200 |
|---|---|---|
| committer | cyberta <cyberta@riseup.net> | 2024-12-11 00:09:34 +0000 |
| commit | 5484bac21a3b1df96ec7b2a4d4d87df47933e069 (patch) | |
| tree | ed9fc06cfabf91dfa7a1416005a0c12fd6376200 /app/src/main/java/se/leap/bitmaskclient/providersetup | |
| parent | 3eb2fac776cc9222a756dcf474eaae6d386a1de3 (diff) | |
refactoring in Provider class: replace DefaultURL with strings, keep api as integer instead of a string
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/providersetup')
8 files changed, 21 insertions, 22 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManager.java b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManager.java index 0d023dfc..f4110877 100644 --- a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManager.java +++ b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManager.java @@ -140,7 +140,7 @@ public class ProviderApiManager extends ProviderApiManagerBase { private Bundle getAndSetProviderJson(Provider provider) { Bundle result = new Bundle(); - String providerJsonUrl = provider.getMainUrlString() + "/provider.json"; + String providerJsonUrl = provider.getMainUrl() + "/provider.json"; String providerDotJsonString = fetch(providerJsonUrl, true); if (ConfigHelper.checkErroneousDownload(providerDotJsonString) || !isValidJson(providerDotJsonString)) { diff --git a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerBase.java b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerBase.java index ea50e741..3032bd4f 100644 --- a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerBase.java +++ b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerBase.java @@ -143,7 +143,7 @@ public abstract class ProviderApiManagerBase { } protected void getPersistedProviderUpdates(Provider provider) { - String providerDomain = getDomainFromMainURL(provider.getMainUrlString()); + String providerDomain = getDomainFromMainURL(provider.getMainUrl()); if (hasUpdatedProviderDetails(providerDomain)) { provider.setCaCert(getPersistedProviderCA(providerDomain)); provider.define(getPersistedProviderDefinition(providerDomain)); diff --git a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerFactory.java b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerFactory.java index 5abec0af..b6c1c955 100644 --- a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerFactory.java +++ b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerFactory.java @@ -17,7 +17,7 @@ public class ProviderApiManagerFactory { public IProviderApiManager getProviderApiManager(Provider provider) throws IllegalArgumentException { switch (provider.getApiVersion()) { - case "5": + case 5: return new ProviderApiManagerV5(resources, callback); default: OkHttpClientGenerator clientGenerator = new OkHttpClientGenerator(resources); diff --git a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerV3.java b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerV3.java index a63899c0..f827d85d 100644 --- a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerV3.java +++ b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerV3.java @@ -17,7 +17,6 @@ package se.leap.bitmaskclient.providersetup; -import static android.text.TextUtils.isEmpty; import static se.leap.bitmaskclient.BuildConfig.DEBUG_MODE; import static se.leap.bitmaskclient.R.string.certificate_error; import static se.leap.bitmaskclient.R.string.downloading_vpn_certificate_failed; @@ -202,7 +201,7 @@ public class ProviderApiManagerV3 extends ProviderApiManagerBase implements IPro ProviderObservable.getInstance().setProviderForDns(null); break; case DOWNLOAD_GEOIP_JSON: - if (!provider.getGeoipUrl().isDefault()) { + if (!provider.getGeoipUrl().isEmpty()) { boolean startEIP = parameters.getBoolean(EIP_ACTION_START); ProviderObservable.getInstance().setProviderForDns(provider); result = getGeoIPJson(provider); @@ -227,7 +226,7 @@ public class ProviderApiManagerV3 extends ProviderApiManagerBase implements IPro public Bundle setupProvider(Provider provider, Bundle task) { Bundle currentDownload = new Bundle(); - if (isEmpty(provider.getMainUrlString()) || provider.getMainUrl().isDefault()) { + if (provider.getMainUrl().isEmpty()) { currentDownload.putBoolean(BROADCAST_RESULT_KEY, false); eventSender.setErrorResult(currentDownload, malformed_url, null); VpnStatus.logWarning("[API] MainURL String is not set. Cannot setup provider."); @@ -274,7 +273,7 @@ public class ProviderApiManagerV3 extends ProviderApiManagerBase implements IPro String providerDotJsonString; if(provider.getDefinitionString().length() == 0 || provider.getCaCert().isEmpty()) { - String providerJsonUrl = provider.getMainUrlString() + "/provider.json"; + String providerJsonUrl = provider.getMainUrl() + "/provider.json"; providerDotJsonString = downloadWithCommercialCA(providerJsonUrl, provider); } else { providerDotJsonString = downloadFromApiUrlWithProviderCA("/provider.json", provider); @@ -367,13 +366,13 @@ public class ProviderApiManagerV3 extends ProviderApiManagerBase implements IPro private Bundle getGeoIPJson(Provider provider) { Bundle result = new Bundle(); - if (!provider.shouldUpdateGeoIpJson() || provider.getGeoipUrl().isDefault() || VpnStatus.isVPNActive() || TorStatusObservable.getStatus() != OFF) { + if (!provider.shouldUpdateGeoIpJson() || provider.getGeoipUrl().isEmpty() || VpnStatus.isVPNActive() || TorStatusObservable.getStatus() != OFF) { result.putBoolean(BROADCAST_RESULT_KEY, false); return result; } try { - URL geoIpUrl = provider.getGeoipUrl().getUrl(); + URL geoIpUrl = new URL(provider.getGeoipUrl()); String geoipJsonString = downloadFromUrlWithProviderCA(geoIpUrl.toString(), provider, false); if (DEBUG_MODE) { @@ -389,7 +388,7 @@ public class ProviderApiManagerV3 extends ProviderApiManagerBase implements IPro result.putBoolean(BROADCAST_RESULT_KEY, true); } - } catch (JSONException | NullPointerException e) { + } catch (JSONException | NullPointerException | MalformedURLException e) { result.putBoolean(BROADCAST_RESULT_KEY, false); e.printStackTrace(); } @@ -477,7 +476,7 @@ public class ProviderApiManagerV3 extends ProviderApiManagerBase implements IPro * @return an empty string if it fails, the response body if not. */ private String downloadFromApiUrlWithProviderCA(String path, Provider provider) { - String baseUrl = provider.getApiUrlString(); + String baseUrl = provider.getApiUrl(); String urlString = baseUrl + path; return downloadFromUrlWithProviderCA(urlString, provider); } @@ -594,7 +593,7 @@ public class ProviderApiManagerV3 extends ProviderApiManagerBase implements IPro private boolean canConnect(Provider provider, Bundle result, int tries) { JSONObject errorJson = new JSONObject(); - String providerUrl = provider.getApiUrlString() + "/provider.json"; + String providerUrl = provider.getApiUrl() + "/provider.json"; OkHttpClient okHttpClient = clientGenerator.initSelfSignedCAHttpClient(provider.getCaCert(), getProxyPort(), errorJson); if (okHttpClient == null) { diff --git a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiSetupBroadcastReceiver.java b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiSetupBroadcastReceiver.java index ee39499b..bd6c5ef2 100644 --- a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiSetupBroadcastReceiver.java +++ b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiSetupBroadcastReceiver.java @@ -64,7 +64,7 @@ public class ProviderApiSetupBroadcastReceiver extends BroadcastReceiver { Provider handledProvider = resultData.getParcelable(Constants.PROVIDER_KEY); if (handledProvider != null && setupInterface.getProvider() != null && - handledProvider.getMainUrlString().equalsIgnoreCase(setupInterface.getProvider().getMainUrlString())) { + handledProvider.getMainUrl().equalsIgnoreCase(setupInterface.getProvider().getMainUrl())) { switch (resultCode) { case ProviderAPI.PROVIDER_OK: setupInterface.handleProviderSetUp(handledProvider); diff --git a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderManager.java b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderManager.java index 9eacae5d..63fbde09 100644 --- a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderManager.java +++ b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderManager.java @@ -78,7 +78,7 @@ public class ProviderManager { private Set<String> getProviderUrlSetFromProviderSet(Set<Provider> providers) { HashSet<String> providerUrls = new HashSet<>(); for (Provider provider : providers) { - providerUrls.add(provider.getMainUrl().toString()); + providerUrls.add(provider.getMainUrl()); } return providerUrls; } @@ -152,10 +152,10 @@ public class ProviderManager { public boolean add(Provider element) { boolean addElement = element != null && - !defaultProviderURLs.contains(element.getMainUrlString()) && - !customProviders.containsKey(element.getMainUrlString()); + !defaultProviderURLs.contains(element.getMainUrl()) && + !customProviders.containsKey(element.getMainUrl()); if (addElement) { - customProviders.put(element.getMainUrlString(), element); + customProviders.put(element.getMainUrl(), element); return true; } return false; @@ -163,7 +163,7 @@ public class ProviderManager { public boolean remove(Object element) { return element instanceof Provider && - customProviders.remove(((Provider) element).getMainUrlString()) != null; + customProviders.remove(((Provider) element).getMainUrl()) != null; } public boolean addAll(Collection<? extends Provider> elements) { @@ -171,9 +171,9 @@ public class ProviderManager { boolean addedAll = true; while (iterator.hasNext()) { Provider p = (Provider) iterator.next(); - boolean containsKey = customProviders.containsKey(p.getMainUrlString()); + boolean containsKey = customProviders.containsKey(p.getMainUrl()); if (!containsKey) { - customProviders.put(p.getMainUrlString(), p); + customProviders.put(p.getMainUrl(), p); } addedAll = !containsKey && addedAll; } diff --git a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderSetupFailedDialog.java b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderSetupFailedDialog.java index 338a60e9..162238bf 100644 --- a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderSetupFailedDialog.java +++ b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderSetupFailedDialog.java @@ -136,7 +136,7 @@ public class ProviderSetupFailedDialog extends DialogFragment { break; case ERROR_NEW_URL_NO_VPN_PROVIDER: builder.setPositiveButton(R.string.retry, (dialog, id) - -> interfaceWithConfigurationWizard.addAndSelectNewProvider(provider.getMainUrlString())); + -> interfaceWithConfigurationWizard.addAndSelectNewProvider(provider.getMainUrl())); break; case ERROR_TOR_TIMEOUT: builder.setPositiveButton(R.string.retry, (dialog, id) -> { diff --git a/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/ConfigureProviderFragment.java b/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/ConfigureProviderFragment.java index 621cb41a..c1a53545 100644 --- a/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/ConfigureProviderFragment.java +++ b/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/ConfigureProviderFragment.java @@ -215,7 +215,7 @@ public class ConfigureProviderFragment extends BaseSetupFragment implements Prop if (ignoreProviderAPIUpdates || provider == null || (setupActivityCallback.getSelectedProvider() != null && - !setupActivityCallback.getSelectedProvider().getMainUrlString().equals(provider.getMainUrlString()))) { + !setupActivityCallback.getSelectedProvider().getMainUrl().equals(provider.getMainUrl()))) { return; } |
