diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-09-11 22:21:17 +0000 |
|---|---|---|
| committer | Linus Färnstrand <linus@mullvad.net> | 2019-09-13 11:29:04 +0200 |
| commit | 193fc328badaad8f5c4d6fb134ae993083db31df (patch) | |
| tree | e3ec65d4f0b280e99653f9828be5fddbb1f468a5 /android/src | |
| parent | fc9d19bda0a1c2eeee71f80f2614903629123b99 (diff) | |
| download | mullvadvpn-193fc328badaad8f5c4d6fb134ae993083db31df.tar.xz mullvadvpn-193fc328badaad8f5c4d6fb134ae993083db31df.zip | |
Add `active` property to `RelayItem`s
Diffstat (limited to 'android/src')
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()) { |
