summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-09-11 22:21:17 +0000
committerLinus Färnstrand <linus@mullvad.net>2019-09-13 11:29:04 +0200
commit193fc328badaad8f5c4d6fb134ae993083db31df (patch)
treee3ec65d4f0b280e99653f9828be5fddbb1f468a5 /android/src
parentfc9d19bda0a1c2eeee71f80f2614903629123b99 (diff)
downloadmullvadvpn-193fc328badaad8f5c4d6fb134ae993083db31df.tar.xz
mullvadvpn-193fc328badaad8f5c4d6fb134ae993083db31df.zip
Add `active` property to `RelayItem`s
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/Relay.kt6
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayCity.kt3
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayCountry.kt3
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItem.kt1
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayList.kt2
5 files changed, 13 insertions, 2 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/Relay.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/Relay.kt
index 8620a64963..db8afade98 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/Relay.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/Relay.kt
@@ -2,7 +2,11 @@ package net.mullvad.mullvadvpn.relaylist
import net.mullvad.mullvadvpn.model.LocationConstraint
-data class Relay(val city: RelayCity, override val name: String) : RelayItem {
+data class Relay(
+ val city: RelayCity,
+ override val name: String,
+ override val active: Boolean
+) : RelayItem {
override val code = name
override val type = RelayItemType.Relay
override val location = LocationConstraint.Hostname(city.country.code, city.code, name)
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayCity.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayCity.kt
index 9d4ba65ccf..70b2ca2d0a 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayCity.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayCity.kt
@@ -12,6 +12,9 @@ class RelayCity(
override val type = RelayItemType.City
override val location = LocationConstraint.City(country.code, code)
+ override val active
+ get() = relays.any { relay -> relay.active }
+
override val hasChildren
get() = relays.size > 1
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayCountry.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayCountry.kt
index fb2aacab33..f5d5a867c3 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayCountry.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayCountry.kt
@@ -11,6 +11,9 @@ class RelayCountry(
override val type = RelayItemType.Country
override val location = LocationConstraint.Country(code)
+ override val active
+ get() = cities.any { city -> city.active }
+
override val hasChildren
get() = getRelayCount() > 1
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItem.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItem.kt
index d55378fbd4..e5f28acee6 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItem.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItem.kt
@@ -7,6 +7,7 @@ interface RelayItem {
val name: String
val code: String
val location: LocationConstraint
+ val active: Boolean
val hasChildren: Boolean
val visibleChildCount: Int
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayList.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayList.kt
index 26cd7ffa58..7d09e421db 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayList.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayList.kt
@@ -19,7 +19,7 @@ class RelayList {
val validCityRelays = city.relays.filter { relay -> relay.hasWireguardTunnels }
for (relay in validCityRelays) {
- relays.add(Relay(relayCity, relay.hostname))
+ relays.add(Relay(relayCity, relay.hostname, relay.active))
}
if (relays.isNotEmpty()) {