Marko Novakovic
11/22/2021, 12:16 PMSavedStateHandle
and I want to introduce Flow
like this:
class MyViewModel<State>(
private val savedStateHandle: SavedStateHandle,
initialState: State,
) : ViewModel() {
private var _state by mutableStateOf(initialState)
val state: State
get() = _state
init {
viewModelScope.launch {
savedStateHandle.getFlow(STATE, initialState)
.collect { _state = it }
}
}
fun updateState(reducer: State.() -> State) =
savedStateHandle.set(STATE, state.reducer())
companion object {
private const val STATE = "state"
}
}
it crashes my tests but when I do regular get
, set
on savedStateHandle
tests work fine.
both work great when I run in on emulator or real device but every single test crashes.
any help?Marko Novakovic
11/22/2021, 12:16 PMsavedStateHandle.getFlow
is just extension function -> savedStateHandle.getLiveData().asFlow
vallebear
11/22/2021, 12:20 PMMarko Novakovic
11/22/2021, 12:32 PM