summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/viewmodel/ProviderSelectionViewModel.java
diff options
context:
space:
mode:
authorcyberta <cyberta@riseup.net>2024-02-27 01:17:55 +0000
committercyberta <cyberta@riseup.net>2024-02-27 01:17:55 +0000
commitb0f743046a82ff29927edb032c706621cfa5ef37 (patch)
tree094d817206b81276dd77ff23132cd99686bd71e5 /app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/viewmodel/ProviderSelectionViewModel.java
parent5e4f9acc43307add85e525746b9349cc0ffc8f15 (diff)
parent3a012bbd4bc662be8c0678759dd6a35e7b42204d (diff)
Merge branch 'fix_provider_list' into 'master'
Improve manual Provider setup flow Closes #9151 and #9157 See merge request leap/bitmask_android!269
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/viewmodel/ProviderSelectionViewModel.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/viewmodel/ProviderSelectionViewModel.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/viewmodel/ProviderSelectionViewModel.java b/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/viewmodel/ProviderSelectionViewModel.java
index aa2fe7cb..29dab98a 100644
--- a/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/viewmodel/ProviderSelectionViewModel.java
+++ b/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/viewmodel/ProviderSelectionViewModel.java
@@ -8,7 +8,6 @@ import android.webkit.URLUtil;
import androidx.lifecycle.ViewModel;
-import java.io.File;
import java.util.List;
import se.leap.bitmaskclient.R;
@@ -22,8 +21,8 @@ public class ProviderSelectionViewModel extends ViewModel {
private int selected = 0;
private String customUrl;
- public ProviderSelectionViewModel(AssetManager assetManager, File externalFilesDir) {
- providerManager = ProviderManager.getInstance(assetManager, externalFilesDir);
+ public ProviderSelectionViewModel(AssetManager assetManager) {
+ providerManager = ProviderManager.getInstance(assetManager);
providerManager.setAddDummyEntry(false);
}
@@ -49,7 +48,7 @@ public class ProviderSelectionViewModel extends ViewModel {
public boolean isValidConfig() {
if (selected == ADD_PROVIDER) {
- return URLUtil.isValidUrl(customUrl) && Patterns.WEB_URL.matcher(customUrl).matches();
+ return customUrl != null && (Patterns.DOMAIN_NAME.matcher(customUrl).matches() || (URLUtil.isNetworkUrl(customUrl) && Patterns.WEB_URL.matcher(customUrl).matches()));
}
return true;
}
@@ -83,6 +82,13 @@ public class ProviderSelectionViewModel extends ViewModel {
customUrl = url;
}
+ public String getCustomUrl() {
+ if (customUrl != null && Patterns.DOMAIN_NAME.matcher(customUrl).matches()) {
+ return "https://" + customUrl;
+ }
+ return customUrl;
+ }
+
public String getProviderName(int pos) {
String domain = getProvider(pos).getDomain();