Skip to content

Commit 1d51e5d

Browse files
committed
[#535] Update state flow to use asStateFlow in base viewmodel classes
1 parent f78d181 commit 1d51e5d

File tree

2 files changed

+6
-8
lines changed
  • sample-compose/app/src/main/java/co/nimblehq/sample/compose/ui/base
  • template-compose/app/src/main/java/co/nimblehq/template/compose/ui/base

2 files changed

+6
-8
lines changed

sample-compose/app/src/main/java/co/nimblehq/sample/compose/ui/base/BaseViewModel.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package co.nimblehq.sample.compose.ui.base
22

33
import androidx.lifecycle.ViewModel
44
import androidx.lifecycle.viewModelScope
5-
import co.nimblehq.sample.compose.lib.IsLoading
65
import co.nimblehq.sample.compose.ui.AppDestination
76
import kotlinx.coroutines.*
87
import kotlinx.coroutines.flow.*
@@ -15,13 +14,13 @@ abstract class BaseViewModel : ViewModel() {
1514
private var loadingCount: Int = 0
1615

1716
private val _isLoading = MutableStateFlow(false)
18-
val isLoading: StateFlow<IsLoading> = _isLoading
17+
val isLoading = _isLoading.asStateFlow()
1918

2019
protected val _error = MutableSharedFlow<Throwable>()
21-
val error: SharedFlow<Throwable> = _error
20+
val error = _error.asSharedFlow()
2221

2322
protected val _navigator = MutableSharedFlow<AppDestination>()
24-
val navigator: SharedFlow<AppDestination> = _navigator
23+
val navigator = _navigator.asSharedFlow()
2524

2625
/**
2726
* To show loading manually, should call `hideLoading` after

template-compose/app/src/main/java/co/nimblehq/template/compose/ui/base/BaseViewModel.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package co.nimblehq.template.compose.ui.base
22

33
import androidx.lifecycle.ViewModel
44
import androidx.lifecycle.viewModelScope
5-
import co.nimblehq.template.compose.lib.IsLoading
65
import co.nimblehq.template.compose.ui.AppDestination
76
import kotlinx.coroutines.flow.*
87
import kotlinx.coroutines.launch
@@ -15,13 +14,13 @@ abstract class BaseViewModel : ViewModel() {
1514
private var loadingCount: Int = 0
1615

1716
private val _isLoading = MutableStateFlow(false)
18-
val isLoading: StateFlow<IsLoading> = _isLoading
17+
val isLoading = _isLoading.asStateFlow()
1918

2019
protected val _error = MutableSharedFlow<Throwable>()
21-
val error: SharedFlow<Throwable> = _error
20+
val error = _error.asSharedFlow()
2221

2322
protected val _navigator = MutableSharedFlow<AppDestination>()
24-
val navigator: SharedFlow<AppDestination> = _navigator
23+
val navigator = _navigator.asSharedFlow()
2524

2625
/**
2726
* To show loading manually, should call `hideLoading` after

0 commit comments

Comments
 (0)