Slide 69
Slide 69 text
class MyViewModel(intialState: MyState): BaseViewModel(intialState) {
val taskService = TaskService()
val appointmentService = AppointmentService()
fun loadTasks() {
taskService.loadTasks { tasks, error ->
updateState { state ->
state.copy(taskText = tasks?.allTitles(), taskError = error)
}
}
}
fun loadAppointments() {
appointmentService.loadAppointments { appointments, error ->
updateState { state ->
state.copy(
appointmentText = appointments?.allTitles(),
appointmentError = error
)
}
}
}
}
class MyViewModelReality : ViewModel() {
val taskService = TaskService()
val appointmentService = AppointmentService()
private val _taskText = MutableLiveData()
private val _appointmentText = MutableLiveData()
private val _taskError = MutableLiveData()
private val _appointmentError = MutableLiveData()
val taskText: LiveData
get() = _taskText
val appointmentText: LiveData
get() = _appointmentText
val errorViewHidden: LiveData
init() {
errorViewHidden.addSource(_taskError) {...}
errorViewHidden.addSource(_appointmentError) {...}
}
fun loadTasks() {
taskService.loadTasks { tasks, error ->
_taskError.value = error
_taskText.value = tasks?.allTitles()
}
}
fun loadAppointments() {
appointmentService.loadAppointments { appointments, error ->
_appointmentError.value = error
_appointmentText.value = appointments?.allTitles()
}
}
}
69