diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml index d4b7accbaa..c224ad564b 100644 --- a/.idea/kotlinc.xml +++ b/.idea/kotlinc.xml @@ -1,6 +1,6 @@ - \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f260607eea..539aa3c7e8 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,9 +4,9 @@ [versions] # Project android_gradle_plugin = "8.7.1" -kotlin = "2.0.20" +kotlin = "2.0.21" kotlinpoet = "2.0.0" -ksp = "2.0.20-1.0.25" +ksp = "2.0.21-1.0.25" firebaseAppDistribution = "5.0.0" # AndroidX @@ -29,7 +29,7 @@ compose_bom = "2024.10.00" composecompiler = "1.5.15" # Coroutines -coroutines = "1.8.1" +coroutines = "1.9.0" # Accompanist accompanist = "0.36.0" @@ -37,17 +37,21 @@ accompanist = "0.36.0" # Test test_core = "1.6.1" +# Jetbrain +datetime = "0.6.1" +serialization_json = "1.7.3" + #other coil = "2.7.0" -datetime = "0.6.0" -dependencyAnalysis = "2.3.0" -serialization_json = "1.6.3" showkase = "1.0.3" appyx = "1.4.0" sqldelight = "2.0.2" wysiwyg = "2.37.13" telephoto = "0.13.0" +# Dependency analysis +dependencyAnalysis = "2.3.0" + # DI dagger = "2.52" anvil = "0.3.3" @@ -162,7 +166,7 @@ coil_test = { module = "io.coil-kt:coil-test", version.ref = "coil" } compound = { module = "io.element.android:compound-android", version = "0.1.1" } datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "datetime" } serialization_json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "serialization_json" } -kotlinx_collections_immutable = "org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.7" +kotlinx_collections_immutable = "org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8" showkase = { module = "com.airbnb.android:showkase", version.ref = "showkase" } showkase_processor = { module = "com.airbnb.android:showkase-processor", version.ref = "showkase" } jsoup = "org.jsoup:jsoup:1.18.1" diff --git a/libraries/core/src/main/kotlin/io/element/android/libraries/core/coroutine/DerivedStateFlow.kt b/libraries/core/src/main/kotlin/io/element/android/libraries/core/coroutine/DerivedStateFlow.kt index 68748ecdb5..a54d0eb9d8 100644 --- a/libraries/core/src/main/kotlin/io/element/android/libraries/core/coroutine/DerivedStateFlow.kt +++ b/libraries/core/src/main/kotlin/io/element/android/libraries/core/coroutine/DerivedStateFlow.kt @@ -7,6 +7,7 @@ package io.element.android.libraries.core.coroutine +import kotlinx.coroutines.ExperimentalForInheritanceCoroutinesApi import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.FlowCollector @@ -19,6 +20,7 @@ import kotlinx.coroutines.flow.stateIn * A [StateFlow] that derives its value from a [Flow]. * Useful when you want to apply transformations to a [Flow] and expose it as a [StateFlow]. */ +@OptIn(ExperimentalForInheritanceCoroutinesApi::class) class DerivedStateFlow( private val getValue: () -> T, private val flow: Flow diff --git a/services/analytics/test/src/main/kotlin/io/element/android/services/analytics/test/FakeScreenTracker.kt b/services/analytics/test/src/main/kotlin/io/element/android/services/analytics/test/FakeScreenTracker.kt index 7065016204..4ac0f7ffd2 100644 --- a/services/analytics/test/src/main/kotlin/io/element/android/services/analytics/test/FakeScreenTracker.kt +++ b/services/analytics/test/src/main/kotlin/io/element/android/services/analytics/test/FakeScreenTracker.kt @@ -8,6 +8,7 @@ package io.element.android.services.analytics.test import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect import im.vector.app.features.analytics.plan.MobileScreen import io.element.android.services.analytics.api.ScreenTracker import io.element.android.tests.testutils.lambda.lambdaError @@ -17,6 +18,8 @@ class FakeScreenTracker( ) : ScreenTracker { @Composable override fun TrackScreen(screen: MobileScreen.ScreenName) { - trackScreenLambda(screen) + LaunchedEffect(Unit) { + trackScreenLambda(screen) + } } }