in app/src/main/java/com/example/android/architecture/blueprints/todoapp/addedittask/AddEditTaskViewModel.kt [60:88]
fun start(taskId: String?) {
if (_dataLoading.value == true) {
return
}
this.taskId = taskId
if (taskId == null) {
// No need to populate, it's a new task
isNewTask = true
return
}
if (isDataLoaded) {
// No need to populate, already have data.
return
}
isNewTask = false
_dataLoading.value = true
viewModelScope.launch {
tasksRepository.getTask(taskId).let { result ->
if (result is Success) {
onTaskLoaded(result.data)
} else {
onDataNotAvailable()
}
}
}
}