diff --git a/core/proto/build.gradle.kts b/core/proto/build.gradle.kts index f68a00a6d9..615074efc0 100644 --- a/core/proto/build.gradle.kts +++ b/core/proto/build.gradle.kts @@ -28,7 +28,7 @@ kotlin { jvm() // Override minSdk for ATAK compatibility (standard is 26) - androidLibrary { minSdk = 21 } + android { minSdk = 21 } sourceSets { commonMain.dependencies { api(libs.wire.runtime) } } } @@ -39,6 +39,10 @@ wire { srcDir("src/main/wire-includes") } kotlin { + // Wire 6 optimization: Avoid unnecessary immutable copies of repeated/map fields. + // Improves performance by reducing allocations when decoding/creating messages. + makeImmutableCopies = false + // Flattens 'oneof' fields into nullable properties on the parent class. // This removes the intermediate sealed classes, simplifying usage and reducing method count/binary size. // Codebase is already written to use the nullable properties (e.g. packet.decoded vs diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 86446fc332..d8329ad2f1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -55,7 +55,7 @@ markdownRenderer = "0.39.2" okio = "3.16.4" osmdroid-android = "6.1.20" spotless = "8.3.0" -wire = "6.0.0-alpha02" +wire = "6.0.0-alpha03" vico = "3.0.2" dependency-guard = "0.5.0" nordic-ble = "2.0.0-alpha15"