summaryrefslogtreecommitdiffhomepage
path: root/android/lib
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2024-12-20 10:25:17 +0100
committerDavid Göransson <david.goransson@mullvad.net>2025-01-08 09:27:06 +0100
commit0f33bd4bcbdf7fc3a9defb79b38f30a37038e89f (patch)
treea1137f3331274dd85d27b057826a8dfdb1869ded /android/lib
parent02c7148847246fc492948d8ffdb426792c5f1c64 (diff)
downloadmullvadvpn-0f33bd4bcbdf7fc3a9defb79b38f30a37038e89f.tar.xz
mullvadvpn-0f33bd4bcbdf7fc3a9defb79b38f30a37038e89f.zip
Make UI state have constraints
Diffstat (limited to 'android/lib')
-rw-r--r--android/lib/common-test/src/main/java/net/mullvad/mullvadvpn/lib/common/test/TestUtils.kt13
-rw-r--r--android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/mapper/FromDomain.kt2
-rw-r--r--android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/mapper/ToDomain.kt2
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Providers.kt7
4 files changed, 16 insertions, 8 deletions
diff --git a/android/lib/common-test/src/main/java/net/mullvad/mullvadvpn/lib/common/test/TestUtils.kt b/android/lib/common-test/src/main/java/net/mullvad/mullvadvpn/lib/common/test/TestUtils.kt
index 60f991fce6..d535019e57 100644
--- a/android/lib/common-test/src/main/java/net/mullvad/mullvadvpn/lib/common/test/TestUtils.kt
+++ b/android/lib/common-test/src/main/java/net/mullvad/mullvadvpn/lib/common/test/TestUtils.kt
@@ -14,3 +14,16 @@ fun <T> assertLists(expected: List<T>, actual: List<T>, message: String? = null)
"""
.trimMargin(),
)
+
+fun <T> assertSet(expected: Set<T>, actual: Set<T>, message: String? = null) =
+ assertTrue(
+ expected.size == actual.size &&
+ expected.containsAll(actual) &&
+ actual.containsAll(expected),
+ message
+ ?: """Expected list should have same size and contains same items.
+ | Expected(${expected.size}): $expected
+ | Actual(${actual.size}) : $actual
+ """
+ .trimMargin(),
+ )
diff --git a/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/mapper/FromDomain.kt b/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/mapper/FromDomain.kt
index f62124a171..e4d3e84a4f 100644
--- a/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/mapper/FromDomain.kt
+++ b/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/mapper/FromDomain.kt
@@ -46,7 +46,7 @@ internal fun Constraint<RelayItemId>.fromDomain(): ManagementInterface.LocationC
internal fun Constraint<Providers>.fromDomain(): List<String> =
when (this) {
is Constraint.Any -> emptyList()
- is Constraint.Only -> value.providers.map { it.value }
+ is Constraint.Only -> value.map { it.value }
}
internal fun DnsOptions.fromDomain(): ManagementInterface.DnsOptions =
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 91399b48b6..daa04fc8d9 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
@@ -365,7 +365,7 @@ internal fun ManagementInterface.GeographicLocationConstraint.toDomain(): GeoLoc
}
internal fun List<String>.toDomain(): Constraint<Providers> =
- if (isEmpty()) Constraint.Any else Constraint.Only(Providers(map { ProviderId(it) }.toSet()))
+ if (isEmpty()) Constraint.Any else Constraint.Only(map { ProviderId(it) }.toSet())
internal fun ManagementInterface.WireguardConstraints.toDomain(): WireguardConstraints =
WireguardConstraints(
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Providers.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Providers.kt
index 73cf9facdb..0e511c9407 100644
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Providers.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Providers.kt
@@ -1,8 +1,3 @@
package net.mullvad.mullvadvpn.lib.model
-import arrow.optics.optics
-
-@optics
-data class Providers(val providers: Set<ProviderId>) {
- companion object
-}
+typealias Providers = Set<ProviderId>