diff options
| author | David Lönnhager <david.l@mullvad.net> | 2025-07-23 09:42:15 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2025-07-23 09:42:15 +0200 |
| commit | 6ee9f98e90fd8fb7bad4e7670aed3a711ffbf317 (patch) | |
| tree | 5dd900add396604d3d9e969e5f8387b5c11aedbd /android | |
| parent | dc2db9cc8a63e8bcbd3cbf70c28c7446d7f83733 (diff) | |
| parent | bdd5faa521137753b46c78a6c5778114f0ce20a4 (diff) | |
| download | mullvadvpn-6ee9f98e90fd8fb7bad4e7670aed3a711ffbf317.tar.xz mullvadvpn-6ee9f98e90fd8fb7bad4e7670aed3a711ffbf317.zip | |
Merge branch 'filter-by-quic-in-gui-location-list-des-2266'
Diffstat (limited to 'android')
7 files changed, 34 insertions, 23 deletions
diff --git a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/data/DummyRelayItems.kt b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/data/DummyRelayItems.kt index 8e4024a4d5..27b5951cea 100644 --- a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/data/DummyRelayItems.kt +++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/data/DummyRelayItems.kt @@ -22,6 +22,7 @@ private val DUMMY_RELAY_1 = provider = ProviderId("PROVIDER RENTED"), ownership = Ownership.Rented, daita = false, + quic = false, ) private val DUMMY_RELAY_2 = RelayItem.Location.Relay( @@ -34,6 +35,7 @@ private val DUMMY_RELAY_2 = provider = ProviderId("PROVIDER OWNED"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) private val DUMMY_RELAY_CITY_1 = RelayItem.Location.City( diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItemExtensions.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItemExtensions.kt index 6fe027249e..4803b966a9 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItemExtensions.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItemExtensions.kt @@ -95,23 +95,16 @@ private fun RelayItem.Location.City.filter( } } -private fun RelayItem.Location.Relay.hasMatchingDaitaSetting(filterDaita: Boolean): Boolean { - return if (filterDaita) daita else true -} +private fun RelayItem.Location.Relay.hasMatchingDaitaSetting(filterDaita: Boolean): Boolean = + if (filterDaita) daita else true private fun RelayItem.Location.Relay.filter( ownership: Constraint<Ownership>, providers: Constraint<Providers>, daita: Boolean, -): RelayItem.Location.Relay? { - return if ( - hasMatchingDaitaSetting(daita) && hasOwnership(ownership) && hasProvider(providers) - ) { - this - } else { - null - } -} +): RelayItem.Location.Relay? = + if (hasMatchingDaitaSetting(daita) && hasOwnership(ownership) && hasProvider(providers)) this + else null fun List<RelayItem.Location.Country>.findByGeoLocationId( geoLocationId: GeoLocationId diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/CustomListLocationsViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/CustomListLocationsViewModelTest.kt index 9b31f8bf24..a3257f04d9 100644 --- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/CustomListLocationsViewModelTest.kt +++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/CustomListLocationsViewModelTest.kt @@ -364,6 +364,7 @@ class CustomListLocationsViewModelTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) ), ) @@ -381,6 +382,7 @@ class CustomListLocationsViewModelTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) } } 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 02609da2f8..140cf5aafb 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 @@ -79,7 +79,6 @@ import net.mullvad.mullvadvpn.lib.model.TunnelState import net.mullvad.mullvadvpn.lib.model.Udp2TcpObfuscationSettings import net.mullvad.mullvadvpn.lib.model.WireguardConstraints import net.mullvad.mullvadvpn.lib.model.WireguardEndpointData -import net.mullvad.mullvadvpn.lib.model.WireguardRelayEndpointData import net.mullvad.mullvadvpn.lib.model.WireguardTunnelOptions internal fun ManagementInterface.TunnelState.toDomain(): TunnelState = @@ -544,9 +543,6 @@ internal fun ManagementInterface.WireguardEndpointData.toDomain(): WireguardEndp shadowsocksPortRangesList.map { it.toDomain() }, ) -internal fun ManagementInterface.WireguardRelayEndpointData.toDomain(): WireguardRelayEndpointData = - WireguardRelayEndpointData(daita) - internal fun ManagementInterface.PortRange.toDomain(): PortRange = PortRange(first..last) /** @@ -581,7 +577,7 @@ internal fun ManagementInterface.RelayListCity.toDomain( id = cityCode, relays = relaysList - .filter { it.endpointType == ManagementInterface.Relay.RelayType.WIREGUARD } + .filter { it.endpointData.hasWireguard() } .map { it.toDomain(cityCode) } .sortedWith(RelayNameComparator), ) @@ -595,12 +591,8 @@ internal fun ManagementInterface.Relay.toDomain( active = active, provider = ProviderId(provider), ownership = if (owned) Ownership.MullvadOwned else Ownership.Rented, - daita = - if ( - hasEndpointData() && endpointType == ManagementInterface.Relay.RelayType.WIREGUARD - ) { - ManagementInterface.WireguardRelayEndpointData.parseFrom(endpointData.value).daita - } else false, + daita = endpointData.wireguard.daita, + quic = endpointData.wireguard.hasQuic(), ) private fun Instant.atDefaultZone() = atZone(ZoneId.systemDefault()) 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 df710649c5..e45c8087fd 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 @@ -26,6 +26,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) val relay10 = RelayItem.Location.Relay( @@ -34,6 +35,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) relay9 assertOrderBothDirection relay10 @@ -48,6 +50,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) val relay9b = RelayItem.Location.Relay( @@ -56,6 +59,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) assertTrue(RelayNameComparator.compare(relay9a, relay9b) == 0) @@ -71,6 +75,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) val relay1 = RelayItem.Location.Relay( @@ -79,6 +84,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) val relay3 = RelayItem.Location.Relay( @@ -87,6 +93,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) val relay100 = RelayItem.Location.Relay( @@ -95,6 +102,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) relay001 assertOrderBothDirection relay1 @@ -112,6 +120,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) val relay9b = RelayItem.Location.Relay( @@ -120,6 +129,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) assertTrue(RelayNameComparator.compare(relay9a, relay9b) == 0) @@ -135,6 +145,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) val relay005 = RelayItem.Location.Relay( @@ -143,6 +154,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) relay001 assertOrderBothDirection relay005 @@ -157,6 +169,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) val relayAr8 = RelayItem.Location.Relay( @@ -165,6 +178,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) val relaySe5 = RelayItem.Location.Relay( @@ -173,6 +187,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) val relaySe10 = RelayItem.Location.Relay( @@ -181,6 +196,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) relayAr2 assertOrderBothDirection relayAr8 @@ -197,6 +213,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) val relay2w = RelayItem.Location.Relay( @@ -205,6 +222,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) relay2c assertOrderBothDirection relay2w @@ -219,6 +237,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) val relay22b = RelayItem.Location.Relay( @@ -227,6 +246,7 @@ class RelayNameComparatorTest { provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = false, + quic = false, ) relay22a assertOrderBothDirection relay22b 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 27ce80c016..b1df67fea6 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 @@ -85,6 +85,7 @@ sealed interface RelayItem { val ownership: Ownership, override val active: Boolean, val daita: Boolean, + val quic: Boolean, ) : Location { override val name: String = id.code override val hasChildren: Boolean = false diff --git a/android/lib/ui/component/src/main/kotlin/net/mullvad/mullvadvpn/lib/ui/component/relaylist/RelayItemPreviewData.kt b/android/lib/ui/component/src/main/kotlin/net/mullvad/mullvadvpn/lib/ui/component/relaylist/RelayItemPreviewData.kt index 35397a6a27..724c567595 100644 --- a/android/lib/ui/component/src/main/kotlin/net/mullvad/mullvadvpn/lib/ui/component/relaylist/RelayItemPreviewData.kt +++ b/android/lib/ui/component/src/main/kotlin/net/mullvad/mullvadvpn/lib/ui/component/relaylist/RelayItemPreviewData.kt @@ -51,6 +51,7 @@ private fun generateRelayItemRelay( provider = ProviderId("Provider"), ownership = Ownership.MullvadOwned, daita = daita, + quic = false, ) private fun String.generateCountryCode() = |
