Skip to content

Commit 6c316b6

Browse files
authored
Merge pull request #35 from Kotlin/collect-lifecycle
Use collectAsStateWithLifecycle
2 parents 5bdd7c5 + f9293f1 commit 6c316b6

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

composeApp/src/commonMain/kotlin/com/jetbrains/kmpapp/screens/detail/DetailScreen.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import androidx.compose.material3.Scaffold
2424
import androidx.compose.material3.Text
2525
import androidx.compose.material3.TopAppBar
2626
import androidx.compose.runtime.Composable
27-
import androidx.compose.runtime.collectAsState
2827
import androidx.compose.runtime.getValue
2928
import androidx.compose.ui.Modifier
3029
import androidx.compose.ui.graphics.Color
@@ -34,6 +33,7 @@ import androidx.compose.ui.text.buildAnnotatedString
3433
import androidx.compose.ui.text.font.FontWeight
3534
import androidx.compose.ui.text.withStyle
3635
import androidx.compose.ui.unit.dp
36+
import androidx.lifecycle.compose.collectAsStateWithLifecycle
3737
import coil3.compose.AsyncImage
3838
import com.jetbrains.kmpapp.data.MuseumObject
3939
import com.jetbrains.kmpapp.screens.EmptyScreenContent
@@ -57,7 +57,7 @@ fun DetailScreen(
5757
) {
5858
val viewModel = koinViewModel<DetailViewModel>()
5959

60-
val obj by viewModel.getObject(objectId).collectAsState(initial = null)
60+
val obj by viewModel.getObject(objectId).collectAsStateWithLifecycle(initialValue = null)
6161
AnimatedContent(obj != null) { objectAvailable ->
6262
if (objectAvailable) {
6363
ObjectDetails(obj!!, onBackClick = navigateBack)

composeApp/src/commonMain/kotlin/com/jetbrains/kmpapp/screens/list/ListScreen.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ import androidx.compose.foundation.lazy.grid.items
2121
import androidx.compose.material3.MaterialTheme
2222
import androidx.compose.material3.Text
2323
import androidx.compose.runtime.Composable
24-
import androidx.compose.runtime.collectAsState
2524
import androidx.compose.runtime.getValue
2625
import androidx.compose.ui.Modifier
2726
import androidx.compose.ui.graphics.Color
2827
import androidx.compose.ui.layout.ContentScale
2928
import androidx.compose.ui.unit.dp
29+
import androidx.lifecycle.compose.collectAsStateWithLifecycle
3030
import coil3.compose.AsyncImage
3131
import com.jetbrains.kmpapp.data.MuseumObject
3232
import com.jetbrains.kmpapp.screens.EmptyScreenContent
@@ -37,7 +37,7 @@ fun ListScreen(
3737
navigateToDetails: (objectId: Int) -> Unit
3838
) {
3939
val viewModel = koinViewModel<ListViewModel>()
40-
val objects by viewModel.objects.collectAsState()
40+
val objects by viewModel.objects.collectAsStateWithLifecycle()
4141

4242
AnimatedContent(objects.isNotEmpty()) { objectsAvailable ->
4343
if (objectsAvailable) {

0 commit comments

Comments
 (0)