Skip to content

Commit 10ce2f1

Browse files
author
Lucas Sales
committed
Request changes
1 parent c8d3e6a commit 10ce2f1

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

app/src/main/java/com/monstarlab/arch/extensions/ViewModelEx.kt

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,22 @@ val <T> T.viewErrorFlow: SharedFlow<ViewError> where T : ViewErrorAware, T : Vie
3232

3333
val <T> T.loadingFlow: StateFlow<Boolean> where T : LoadingAware, T : ViewModel
3434
get() {
35-
return getLoadingMutableStateFlow()
35+
return loadingMutableStateFlow
3636
}
3737

38-
private fun <T> T.getLoadingMutableStateFlow(): MutableStateFlow<Boolean> where T : LoadingAware, T : ViewModel {
39-
val flow: MutableStateFlow<Boolean>? = getTag(LOADING_FLOW_KEY)
40-
return flow ?: setTagIfAbsent(LOADING_FLOW_KEY, MutableStateFlow(false))
41-
}
38+
var <T> T.isLoading: Boolean where T : LoadingAware, T : ViewModel
39+
get() {
40+
return loadingMutableStateFlow.value
41+
}
42+
set(value) {
43+
loadingMutableStateFlow.tryEmit(value)
44+
}
45+
46+
private val <T> T.loadingMutableStateFlow: MutableStateFlow<Boolean> where T : LoadingAware, T : ViewModel
47+
get() {
48+
val flow: MutableStateFlow<Boolean>? = getTag(LOADING_FLOW_KEY)
49+
return flow ?: setTagIfAbsent(LOADING_FLOW_KEY, MutableStateFlow(false))
50+
}
4251

4352
private fun <T> T.getErrorMutableSharedFlow(): MutableSharedFlow<ViewError> where T : ViewErrorAware, T : ViewModel {
4453
val flow: MutableSharedFlow<ViewError>? = getTag(ERROR_FLOW_KEY)
@@ -48,10 +57,10 @@ private fun <T> T.getErrorMutableSharedFlow(): MutableSharedFlow<ViewError> wher
4857
fun <F, T> Flow<F>.bindLoading(t: T): Flow<F> where T : LoadingAware, T : ViewModel {
4958
return this
5059
.onStart {
51-
t.getLoadingMutableStateFlow().value = true
60+
t.loadingMutableStateFlow.value = true
5261
}
5362
.onCompletion {
54-
t.getLoadingMutableStateFlow().value = false
63+
t.loadingMutableStateFlow.value = false
5564
}
5665
}
5766

0 commit comments

Comments
 (0)