From efba64ea9085e6a555ec029f5beaf1ed48d0075f Mon Sep 17 00:00:00 2001 From: LavaDesu Date: Fri, 8 Aug 2025 02:25:51 +1000 Subject: [PATCH] chore: bump dependencies --- composeApp/build.gradle.kts | 6 ++++- .../banksia/ui/platform/maps/Maps.android.kt | 8 +++--- .../moe/lava/banksia/ui/BanksiaViewModel.kt | 4 +-- gradle/libs.versions.toml | 26 +++++++++---------- gradle/wrapper/gradle-wrapper.properties | 2 +- shared/build.gradle.kts | 6 ++++- .../banksia/data/ptv/structures/PtvRun.kt | 2 +- 7 files changed, 30 insertions(+), 24 deletions(-) diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index 230ac68..c3699d6 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -16,7 +16,11 @@ kotlin { jvmTarget.set(JvmTarget.JVM_11) } } - + + compilerOptions { + freeCompilerArgs.add("-opt-in=kotlin.time.ExperimentalTime") + } + listOf( iosX64(), iosArm64(), diff --git a/composeApp/src/androidMain/kotlin/moe/lava/banksia/ui/platform/maps/Maps.android.kt b/composeApp/src/androidMain/kotlin/moe/lava/banksia/ui/platform/maps/Maps.android.kt index e9110fb..1e387fc 100644 --- a/composeApp/src/androidMain/kotlin/moe/lava/banksia/ui/platform/maps/Maps.android.kt +++ b/composeApp/src/androidMain/kotlin/moe/lava/banksia/ui/platform/maps/Maps.android.kt @@ -38,7 +38,7 @@ import com.google.maps.android.compose.GoogleMap import com.google.maps.android.compose.MarkerComposable import com.google.maps.android.compose.Polyline import com.google.maps.android.compose.rememberCameraPositionState -import com.google.maps.android.compose.rememberMarkerState +import com.google.maps.android.compose.rememberUpdatedMarkerState import kotlinx.coroutines.flow.Flow import moe.lava.banksia.R import moe.lava.banksia.ui.BanksiaEvent @@ -129,8 +129,7 @@ actual fun Maps( ) { // [TODO]: Slight lag when routes with many stops such as the 901 bus is set for (marker in state.stops) { - val state = rememberMarkerState() - state.position = marker.point.toLatLng() + val state = rememberUpdatedMarkerState(marker.point.toLatLng()) MarkerComposable( keys = arrayOf(marker), zIndex = 0f, @@ -150,8 +149,7 @@ actual fun Maps( } } for (marker in state.vehicles) { - val state = rememberMarkerState() - state.position = marker.point.toLatLng() + val state = rememberUpdatedMarkerState(marker.point.toLatLng()) MarkerComposable( keys = arrayOf(marker), zIndex = 1f, diff --git a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/BanksiaViewModel.kt b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/BanksiaViewModel.kt index d9a6ceb..94d0178 100644 --- a/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/BanksiaViewModel.kt +++ b/composeApp/src/commonMain/kotlin/moe/lava/banksia/ui/BanksiaViewModel.kt @@ -13,8 +13,6 @@ import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.takeWhile import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch -import kotlinx.datetime.Clock -import kotlinx.datetime.Instant import moe.lava.banksia.data.ptv.PtvService import moe.lava.banksia.data.ptv.structures.PtvRoute import moe.lava.banksia.data.ptv.structures.PtvRouteType @@ -31,6 +29,8 @@ import moe.lava.banksia.util.BoxedValue.Companion.box import moe.lava.banksia.util.LoopFlow.Companion.waitUntilSubscribed import moe.lava.banksia.util.Point import moe.lava.banksia.util.log +import kotlin.time.Clock +import kotlin.time.Instant sealed class BanksiaEvent { data object DismissState : BanksiaEvent() diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index cd7c5bc..531c88e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,32 +1,32 @@ [versions] -agp = "8.9.1" -android-compileSdk = "35" +agp = "8.11.1" +android-compileSdk = "36" android-minSdk = "24" -android-targetSdk = "35" +android-targetSdk = "36" androidx-activityCompose = "1.10.1" androidx-appcompat = "1.7.0" androidx-constraintlayout = "2.2.1" androidx-core-ktx = "1.15.0" androidx-espresso-core = "3.6.1" -androidx-lifecycle = "2.8.4" +androidx-lifecycle = "2.9.1" androidx-material = "1.12.0" androidx-test-junit = "1.2.1" -compose-multiplatform = "1.8.0-beta02" -coroutines = "1.9.0" +compose-multiplatform = "1.8.2" +coroutines = "1.10.2" geo = "0.8.0" junit = "4.13.2" koin = "4.1.0" kotlin = "2.2.0" -kotlinxDatetime = "0.6.2" +kotlinxDatetime = "0.7.1" kotlinxSerializationCsv = "0.2.18" -kotlinxSerializationJson = "1.8.1" +kotlinxSerializationJson = "1.9.0" ksp = "2.2.0-2.0.2" -ktor = "3.1.1" -logback = "1.5.17" -mapsCompose = "6.4.1" -okio = "3.11.0" +ktor = "3.2.3" +logback = "1.5.18" +mapsCompose = "6.7.0" +okio = "3.16.0" playServicesLocation = "21.3.0" -playServicesMaps = "19.1.0" +playServicesMaps = "19.2.0" sqlite = "2.5.2" room = "2.7.2" secretsGradlePlugin = "2.0.1" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e2847c8..37f853b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts index 1f05df2..53a79bf 100644 --- a/shared/build.gradle.kts +++ b/shared/build.gradle.kts @@ -24,7 +24,11 @@ kotlin { jvmTarget.set(JvmTarget.JVM_11) } } - + + compilerOptions { + freeCompilerArgs.add("-opt-in=kotlin.time.ExperimentalTime") + } + iosX64() iosArm64() iosSimulatorArm64() diff --git a/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvRun.kt b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvRun.kt index 5d90d28..ff6111a 100644 --- a/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvRun.kt +++ b/shared/src/commonMain/kotlin/moe/lava/banksia/data/ptv/structures/PtvRun.kt @@ -1,6 +1,5 @@ package moe.lava.banksia.data.ptv.structures -import kotlinx.datetime.Instant import kotlinx.datetime.LocalDateTime import kotlinx.datetime.TimeZone import kotlinx.datetime.toInstant @@ -12,6 +11,7 @@ import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor import kotlinx.serialization.descriptors.SerialDescriptor import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Encoder +import kotlin.time.Instant // Some datetimes are in local time (no timezone), observed on bus vehicle positions, // and some datetimes are in UTC, observed on train vehicle positions. We need to handle