Я использую следующие версии в своем проекте -
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0-alpha04"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.2.0-alpha04"
Поэтому в моем классе View Model я делаю -
fun initView() =
Transformations.map(domain.performOperation()) {
when (it) {
...
}
}
Мой класс View Model расширяет класс Base View Modelи класс Base View Model выглядит следующим образом -
open class BaseViewModel(private val coroutineCtx: CoroutineContext = Dispatchers.Main) :
ViewModel(),
CoroutineScope {
private val job = SupervisorJob()
override val coroutineContext: CoroutineContext
get() = coroutineCtx + job
override fun onCleared() {
super.onCleared()
job.cancel()
}
}
Кажется, это работает, но я хочу импровизировать мой код и избавиться от стандартного кода сопрограммы в классе Base View Model.Поэтому я хочу использовать viewModelScope.launch
непосредственно в классе My View Model.Но как мне использовать это с Transformations.map
?