diff options
author | cyBerta <cyberta@riseup.net> | 2021-11-21 19:36:46 +0100 |
---|---|---|
committer | cyBerta <cyberta@riseup.net> | 2021-11-21 19:39:52 +0100 |
commit | a6cd31ae8624f830454adc627ac3a6be323a5333 (patch) | |
tree | eadd921ce162958c35b7fc0be1b5fc21b359c2cb /app/src/main/java/se/leap/bitmaskclient/base/models/Location.java | |
parent | 4ebcedd733efce56c91ef21c9b5b167a7820db12 (diff) |
implement new gateway selection UI, using same UX principles as for desktop
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/base/models/Location.java')
-rw-r--r-- | app/src/main/java/se/leap/bitmaskclient/base/models/Location.java | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/base/models/Location.java b/app/src/main/java/se/leap/bitmaskclient/base/models/Location.java index 3eb82f22..599a358a 100644 --- a/app/src/main/java/se/leap/bitmaskclient/base/models/Location.java +++ b/app/src/main/java/se/leap/bitmaskclient/base/models/Location.java @@ -18,16 +18,20 @@ package se.leap.bitmaskclient.base.models; import androidx.annotation.NonNull; + import java.util.HashSet; + import de.blinkt.openvpn.core.connection.Connection; -public class Location { - @NonNull public String name; - @NonNull public HashSet<Connection.TransportType> supportedTransports; +public class Location implements Cloneable { + @NonNull public String name = ""; + @NonNull public HashSet<Connection.TransportType> supportedTransports = new HashSet<>(); public double averageLoad; public int numberOfGateways; public boolean selected; + public Location() {} + public Location(@NonNull String name, double averageLoad, int numberOfGateways, @NonNull HashSet<Connection.TransportType> supportedTransports, boolean selected) { this.name = name; this.averageLoad = averageLoad; @@ -36,6 +40,10 @@ public class Location { this.selected = selected; } + public boolean hasLocationInfo() { + return numberOfGateways != 0 && supportedTransports.size() != 0 && !name.isEmpty(); + } + @Override public boolean equals(Object o) { if (this == o) return true; @@ -60,4 +68,15 @@ public class Location { result = 31 * result + numberOfGateways; return result; } + + @Override + public Location clone() throws CloneNotSupportedException { + Location copy = (Location) super.clone(); + copy.name = this.name; + copy.supportedTransports = (HashSet<Connection.TransportType>) this.supportedTransports.clone(); + copy.numberOfGateways = this.numberOfGateways; + copy.averageLoad = this.averageLoad; + return copy; + } + } |