summaryrefslogtreecommitdiffhomepage
path: root/android/lib
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2024-12-20 07:04:56 +0100
committerJonatan Rhodin <jonatan.rhodin@mullvad.net>2024-12-20 14:23:05 +0100
commit99bd27986089de8dd05b839d2b8361cae8aefcda (patch)
tree1fa7ab88903fe748d1c218cd0bda5bf23d4265b2 /android/lib
parent92465444d8a51b73fe225461e459449d9ab6e600 (diff)
downloadmullvadvpn-99bd27986089de8dd05b839d2b8361cae8aefcda.tar.xz
mullvadvpn-99bd27986089de8dd05b839d2b8361cae8aefcda.zip
Remove one-to-one relationship between provider and ownership
Diffstat (limited to 'android/lib')
-rw-r--r--android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/mapper/ToDomain.kt8
-rw-r--r--android/lib/daemon-grpc/src/test/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/RelayNameComparatorTest.kt141
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Provider.kt3
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ProviderId.kt6
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/RelayItem.kt3
-rw-r--r--android/lib/resource/src/main/res/values/strings.xml1
6 files changed, 50 insertions, 112 deletions
diff --git a/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/mapper/ToDomain.kt b/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/mapper/ToDomain.kt
index c7f47b0c29..91399b48b6 100644
--- a/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/mapper/ToDomain.kt
+++ b/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/mapper/ToDomain.kt
@@ -52,7 +52,6 @@ import net.mullvad.mullvadvpn.lib.model.ParameterGenerationError
import net.mullvad.mullvadvpn.lib.model.PlayPurchasePaymentToken
import net.mullvad.mullvadvpn.lib.model.Port
import net.mullvad.mullvadvpn.lib.model.PortRange
-import net.mullvad.mullvadvpn.lib.model.Provider
import net.mullvad.mullvadvpn.lib.model.ProviderId
import net.mullvad.mullvadvpn.lib.model.Providers
import net.mullvad.mullvadvpn.lib.model.QuantumResistantState
@@ -565,11 +564,8 @@ internal fun ManagementInterface.Relay.toDomain(
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(cityCode, hostname),
active = active,
- provider =
- Provider(
- ProviderId(provider),
- ownership = if (owned) Ownership.MullvadOwned else Ownership.Rented,
- ),
+ provider = ProviderId(provider),
+ ownership = if (owned) Ownership.MullvadOwned else Ownership.Rented,
daita =
if (
hasEndpointData() && endpointType == ManagementInterface.Relay.RelayType.WIREGUARD
diff --git a/android/lib/daemon-grpc/src/test/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/RelayNameComparatorTest.kt b/android/lib/daemon-grpc/src/test/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/RelayNameComparatorTest.kt
index e496c6d5aa..df710649c5 100644
--- a/android/lib/daemon-grpc/src/test/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/RelayNameComparatorTest.kt
+++ b/android/lib/daemon-grpc/src/test/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/RelayNameComparatorTest.kt
@@ -4,7 +4,6 @@ import io.mockk.mockk
import io.mockk.unmockkAll
import net.mullvad.mullvadvpn.lib.model.GeoLocationId
import net.mullvad.mullvadvpn.lib.model.Ownership
-import net.mullvad.mullvadvpn.lib.model.Provider
import net.mullvad.mullvadvpn.lib.model.ProviderId
import net.mullvad.mullvadvpn.lib.model.RelayItem
import org.junit.jupiter.api.AfterEach
@@ -24,22 +23,16 @@ class RelayNameComparatorTest {
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "se9-wireguard"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
val relay10 =
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "se10-wireguard"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
@@ -52,22 +45,16 @@ class RelayNameComparatorTest {
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "se9-wireguard"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
val relay9b =
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "se9-wireguard"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
@@ -81,44 +68,32 @@ class RelayNameComparatorTest {
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "001"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
val relay1 =
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "1"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
val relay3 =
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "3"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
val relay100 =
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "100"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
@@ -134,22 +109,16 @@ class RelayNameComparatorTest {
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "se-wireguard"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
val relay9b =
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "se-wireguard"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
@@ -163,22 +132,16 @@ class RelayNameComparatorTest {
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "se001-wireguard"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
val relay005 =
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "se005-wireguard"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
@@ -191,44 +154,32 @@ class RelayNameComparatorTest {
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "ar2-wireguard"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
val relayAr8 =
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "ar8-wireguard"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
val relaySe5 =
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "se5-wireguard"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
val relaySe10 =
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "se10-wireguard"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
@@ -243,22 +194,16 @@ class RelayNameComparatorTest {
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "se2-cloud"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
val relay2w =
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "se2-wireguard"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
@@ -271,22 +216,16 @@ class RelayNameComparatorTest {
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "se22"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
val relay22b =
RelayItem.Location.Relay(
id = GeoLocationId.Hostname(city = mockk(), "se22-wireguard"),
active = false,
- provider =
- Provider(
- providerId = ProviderId("Provider"),
- ownership = Ownership.MullvadOwned,
- ),
+ provider = ProviderId("Provider"),
+ ownership = Ownership.MullvadOwned,
daita = false,
)
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Provider.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Provider.kt
deleted file mode 100644
index e704e9554d..0000000000
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Provider.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-package net.mullvad.mullvadvpn.lib.model
-
-data class Provider(val providerId: ProviderId, val ownership: Ownership)
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ProviderId.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ProviderId.kt
index cc23c3e9b6..1682e2018d 100644
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ProviderId.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ProviderId.kt
@@ -1,3 +1,7 @@
package net.mullvad.mullvadvpn.lib.model
-@JvmInline value class ProviderId(val value: String)
+@JvmInline
+value class ProviderId(val value: String) : Comparable<ProviderId> {
+ override fun compareTo(other: ProviderId): Int =
+ value.uppercase().compareTo(other.value.uppercase())
+}
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/RelayItem.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/RelayItem.kt
index af96c4d94d..3ff0788776 100644
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/RelayItem.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/RelayItem.kt
@@ -56,7 +56,8 @@ sealed interface RelayItem {
@optics
data class Relay(
override val id: GeoLocationId.Hostname,
- val provider: Provider,
+ val provider: ProviderId,
+ val ownership: Ownership,
override val active: Boolean,
val daita: Boolean,
) : Location {
diff --git a/android/lib/resource/src/main/res/values/strings.xml b/android/lib/resource/src/main/res/values/strings.xml
index bc3512501c..c19faafd54 100644
--- a/android/lib/resource/src/main/res/values/strings.xml
+++ b/android/lib/resource/src/main/res/values/strings.xml
@@ -402,6 +402,7 @@
<string name="x_entry">%s (Entry)</string>
<string name="x_exit">%s (Exit)</string>
<string name="filters">Filters:</string>
+ <string name="removed_provider">%s (removed)</string>
<string name="search_query_empty">Type at least 2 characters to start searching.</string>
<string name="daita_description_slide_1_first_paragraph">%1$s (%2$s) hides patterns in your encrypted VPN traffic.</string>
<string name="daita_description_slide_1_second_paragraph">By using sophisticated AI it’s possible to analyze the traffic of data packets going in and out of your device (even if the traffic is encrypted).</string>