Skip to content

Commit e3a4ce7

Browse files
Make collecting coroutine lifecycle aware with repeatOnLifecycle
1 parent 195f17b commit e3a4ce7

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

app/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ dependencies {
7070

7171
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
7272
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
73+
implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
7374

7475
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
7576
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.7.1'

app/src/main/java/com/lukaslechner/coroutineusecasesonandroid/usecases/flow/usecase4/FlowUseCase4Activity.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ package com.lukaslechner.coroutineusecasesonandroid.usecases.flow.usecase4
22

33
import android.os.Bundle
44
import androidx.activity.viewModels
5+
import androidx.lifecycle.Lifecycle
56
import androidx.lifecycle.lifecycleScope
7+
import androidx.lifecycle.repeatOnLifecycle
68
import com.lukaslechner.coroutineusecasesonandroid.base.BaseActivity
79
import com.lukaslechner.coroutineusecasesonandroid.base.flowUseCase4Description
810
import com.lukaslechner.coroutineusecasesonandroid.databinding.ActivityFlowUsecase1Binding
@@ -28,8 +30,10 @@ class FlowUseCase4Activity : BaseActivity() {
2830
binding.recyclerView.adapter = adapter
2931

3032
lifecycleScope.launch {
31-
viewModel.currentStockPriceAsFlow.collect { uiState ->
32-
render(uiState)
33+
repeatOnLifecycle(Lifecycle.State.STARTED) {
34+
viewModel.currentStockPriceAsFlow.collect { uiState ->
35+
render(uiState)
36+
}
3337
}
3438
}
3539
}

0 commit comments

Comments
 (0)