summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/eip
diff options
context:
space:
mode:
authorcyBerta <cyberta@riseup.net>2021-07-30 15:46:40 +0200
committercyBerta <cyberta@riseup.net>2021-11-15 16:13:41 +0100
commit5c4c3cde26fafbd763e4a879dc46ca959b1a7d27 (patch)
treee8bc88f98be2a1f499f620ab654757c406d816fb /app/src/main/java/se/leap/bitmaskclient/eip
parent9818a16e510d42fec32aef5a6efcd6d2ae4aa110 (diff)
draft gateway selection UI according to simlpy secure's proposals
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/eip')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java20
1 files changed, 13 insertions, 7 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 24e9c323..0819e9b6 100644
--- a/app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java
+++ b/app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java
@@ -93,10 +93,10 @@ public class GatewaysManager {
private static final String TAG = GatewaysManager.class.getSimpleName();
- private Context context;
- private LinkedHashMap<String, Gateway> gateways = new LinkedHashMap<>();
- private Type listType = new TypeToken<ArrayList<Gateway>>() {}.getType();
- private ArrayList<Gateway> presortedList = new ArrayList<>();
+ private final Context context;
+ private final LinkedHashMap<String, Gateway> gateways = new LinkedHashMap<>();
+ private final Type listType = new TypeToken<ArrayList<Gateway>>() {}.getType();
+ private final ArrayList<Gateway> presortedList = new ArrayList<>();
public GatewaysManager(Context context) {
this.context = context;
@@ -128,24 +128,30 @@ public class GatewaysManager {
int n = 0;
Gateway gateway;
while ((gateway = select(n, null)) != null) {
+ String name = gateway.getName();
+ if (name == null) {
+ Log.e(TAG, "Gateway without location name found. This should never happen. Provider misconfigured?");
+ continue;
+ }
+
if (!locationNames.containsKey(gateway.getName())) {
locationNames.put(gateway.getName(), locations.size());
// fake values for now
Random rand = new Random();
double averageLoad = rand.nextDouble(); //location.averageLoad;
-
+ Log.d(TAG, "getGatewayLocations - new averageLoad (" + gateway.getName() + "): " + averageLoad);
Location location = new Location(
gateway.getName(),
averageLoad
/*gateway.getFullness()*/,
- 1,
- gateway.getName().equals(selectedCity));
+ 1);
locations.add(location);
} else {
int index = locationNames.get(gateway.getName());
Location location = locations.get(index);
location.averageLoad = (location.numberOfGateways * location.averageLoad + gateway.getFullness()) / (location.numberOfGateways + 1);
+ Log.d(TAG, "getGatewayLocations - updated averageLoad: (" + gateway.getName() + "): " + location.averageLoad);
location.numberOfGateways += 1;
locations.set(index, location);
}