summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java
diff options
context:
space:
mode:
authorcyBerta <cyberta@riseup.net>2021-07-30 20:38:23 +0200
committercyBerta <cyberta@riseup.net>2021-11-14 19:44:25 +0100
commit5ab54104c6c701789e59963fcdfda05da5a83a45 (patch)
tree52a3e7431df3735e0a220e2c786f82e7bae5bf4b /app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java
parentd366b98aafdb0b211ed7b3870354477ffc250462 (diff)
ask user to change location or disable bridges if manually selected location doesn't support bridges
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java b/app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java
index 0b2c2030..dbb2a914 100644
--- a/app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java
+++ b/app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java
@@ -96,6 +96,7 @@ public class GatewaysManager {
private final LinkedHashMap<String, Gateway> gateways = new LinkedHashMap<>();
private final Type listType = new TypeToken<ArrayList<Gateway>>() {}.getType();
private final ArrayList<Gateway> presortedList = new ArrayList<>();
+ private ArrayList<Location> locations = new ArrayList<>();
public GatewaysManager(Context context) {
this.context = context;
@@ -130,6 +131,10 @@ public class GatewaysManager {
}
public List<Location> getGatewayLocations() {
+ if (locations.size() > 0) {
+ return locations;
+ }
+
HashMap<String, Integer> locationNames = new HashMap<>();
ArrayList<Location> locations = new ArrayList<>();
ArrayList<Gateway> gateways = getSortedGateways();
@@ -166,16 +171,26 @@ public class GatewaysManager {
}
}
+ this.locations = locations;
return locations;
}
- public Load getLoadForLocation(@Nullable String name) {
+ @Nullable
+ public Location getLocation(String name) {
List <Location> locations = getGatewayLocations();
for (Location location : locations) {
if (location.name.equals(name)) {
- return Load.getLoadByValue(location.averageLoad);
+ return location;
}
}
+ return null;
+ }
+
+ public Load getLoadForLocation(@Nullable String name) {
+ Location location = getLocation(name);
+ if (location != null) {
+ return Load.getLoadByValue(location.averageLoad);
+ }
// location not found
return Load.UNKNOWN;