diff options
| author | David Göransson <david.goransson@mullvad.net> | 2025-05-08 16:06:59 +0200 |
|---|---|---|
| committer | David Göransson <david.goransson@mullvad.net> | 2025-05-09 09:22:35 +0200 |
| commit | 36942e8d3f8b9b29de6522d2230488082b0eb549 (patch) | |
| tree | 26a8d10f47967d0af04290b37adea0b8d7ab10d6 /android | |
| parent | ea39f022ed63cc3f7e3e7753ec29cf8d9b3549dc (diff) | |
| download | mullvadvpn-36942e8d3f8b9b29de6522d2230488082b0eb549.tar.xz mullvadvpn-36942e8d3f8b9b29de6522d2230488082b0eb549.zip | |
Fix a few blockers preventing us from bumping ktor
Diffstat (limited to 'android')
4 files changed, 15 insertions, 22 deletions
diff --git a/android/gradle/libs.versions.toml b/android/gradle/libs.versions.toml index e6b7037c99..c3a0d0da76 100644 --- a/android/gradle/libs.versions.toml +++ b/android/gradle/libs.versions.toml @@ -55,7 +55,7 @@ ktor = "3.0.3" kotlin = "2.1.20" kotlin-ksp = "2.1.20-2.0.0" kotlinx = "1.10.2" -kotlinx-serialization = "2.1.20" +kotlinx-serialization = "1.8.1" # Protobuf protobuf-gradle-plugin = "0.9.5" @@ -152,7 +152,6 @@ kotlin-native-prebuilt = { module = "org.jetbrains.kotlin:kotlin-native-prebuilt kotlinx-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx" } kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinx" } kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx" } -kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" } # Ktor ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" } @@ -191,7 +190,7 @@ kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = kotlin-ksp = { id = "com.google.devtools.ksp", version.ref = "kotlin-ksp" } # Kotlinx -kotlinx-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlinx-serialization" } +kotlinx-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } # Protobuf protobuf-core = { id = "com.google.protobuf", version.ref = "protobuf-gradle-plugin" } diff --git a/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/router/firewall/FirewallClient.kt b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/router/firewall/FirewallClient.kt index 3e2a35971a..3d6264047b 100644 --- a/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/router/firewall/FirewallClient.kt +++ b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/router/firewall/FirewallClient.kt @@ -13,10 +13,7 @@ import io.ktor.http.URLProtocol import io.ktor.http.contentType import io.ktor.serialization.kotlinx.json.json import kotlinx.serialization.json.Json -import kotlinx.serialization.modules.SerializersModule -import kotlinx.serialization.modules.contextual import net.mullvad.mullvadvpn.test.e2e.BuildConfig -import net.mullvad.mullvadvpn.test.e2e.serializer.NanoSecondsTimestampSerializer class FirewallClient(private val httpClient: HttpClient = defaultHttpClient()) { suspend fun createRule(rule: DropRule) { @@ -50,12 +47,9 @@ private fun defaultHttpClient(): HttpClient = install(ContentNegotiation) { json( Json { + ignoreUnknownKeys = true isLenient = true prettyPrint = true - - serializersModule = SerializersModule { - contextual(NanoSecondsTimestampSerializer) - } } ) } diff --git a/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/router/packetCapture/Packet.kt b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/router/packetCapture/Packet.kt index cd6b2b855e..d39067e9c8 100644 --- a/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/router/packetCapture/Packet.kt +++ b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/router/packetCapture/Packet.kt @@ -1,9 +1,9 @@ package net.mullvad.mullvadvpn.test.e2e.router.packetCapture import java.time.ZonedDateTime -import kotlinx.serialization.Contextual import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable +import net.mullvad.mullvadvpn.test.e2e.serializer.NanoSecondsTimestampSerializer import net.mullvad.mullvadvpn.test.e2e.serializer.PacketSerializer @Serializable(with = PacketSerializer::class) @@ -13,13 +13,19 @@ sealed interface Packet { } @Serializable -data class RxPacket(@SerialName("timestamp") @Contextual override val date: ZonedDateTime) : - Packet { +data class RxPacket( + @SerialName("timestamp") + @Serializable(with = NanoSecondsTimestampSerializer::class) + override val date: ZonedDateTime +) : Packet { @SerialName("from_peer") override val fromPeer: Boolean = false } @Serializable -data class TxPacket(@SerialName("timestamp") @Contextual override val date: ZonedDateTime) : - Packet { +data class TxPacket( + @SerialName("timestamp") + @Serializable(with = NanoSecondsTimestampSerializer::class) + override val date: ZonedDateTime +) : Packet { @SerialName("from_peer") override val fromPeer: Boolean = true } diff --git a/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/router/packetCapture/PacketCapture.kt b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/router/packetCapture/PacketCapture.kt index 7854170114..5122227d3a 100644 --- a/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/router/packetCapture/PacketCapture.kt +++ b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/router/packetCapture/PacketCapture.kt @@ -20,11 +20,8 @@ import java.util.UUID import kotlinx.serialization.Serializable import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json -import kotlinx.serialization.modules.SerializersModule -import kotlinx.serialization.modules.contextual import net.mullvad.mullvadvpn.test.e2e.BuildConfig import net.mullvad.mullvadvpn.test.e2e.misc.Networking -import net.mullvad.mullvadvpn.test.e2e.serializer.NanoSecondsTimestampSerializer import net.mullvad.mullvadvpn.test.e2e.serializer.PacketCaptureSessionSerializer import org.junit.jupiter.api.fail @@ -68,12 +65,9 @@ private fun defaultHttpClient(): HttpClient = install(ContentNegotiation) { json( Json { + ignoreUnknownKeys = true isLenient = true prettyPrint = true - - serializersModule = SerializersModule { - contextual(NanoSecondsTimestampSerializer) - } } ) } |
