summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2025-05-08 16:06:59 +0200
committerDavid Göransson <david.goransson@mullvad.net>2025-05-09 09:22:35 +0200
commit36942e8d3f8b9b29de6522d2230488082b0eb549 (patch)
tree26a8d10f47967d0af04290b37adea0b8d7ab10d6 /android
parentea39f022ed63cc3f7e3e7753ec29cf8d9b3549dc (diff)
downloadmullvadvpn-36942e8d3f8b9b29de6522d2230488082b0eb549.tar.xz
mullvadvpn-36942e8d3f8b9b29de6522d2230488082b0eb549.zip
Fix a few blockers preventing us from bumping ktor
Diffstat (limited to 'android')
-rw-r--r--android/gradle/libs.versions.toml5
-rw-r--r--android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/router/firewall/FirewallClient.kt8
-rw-r--r--android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/router/packetCapture/Packet.kt16
-rw-r--r--android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/router/packetCapture/PacketCapture.kt8
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)
- }
}
)
}