8. Lógica da Aplicação com ViewModel

8.2. HomeViewModel

package ...

import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel


class HomeViewModel : ViewModel() {
// LiveData para armazenar a lista de tarefas
private var _tarefas: MutableLiveData<MutableList<Tarefa>> = MutableLiveData<MutableList<Tarefa>>()
val listaTarefas: LiveData<MutableList<Tarefa>> get() = _tarefas

init {
carregarTarefas()
}

private fun carregarTarefas() {
//solicita ao repositorio para povoar a lista de tarefas
TarefaRepository.carregarTarefa(_tarefas)
}

fun addTarefa(descricao: String, condicao: Boolean) {
val tarefa = Tarefa(descricao, condicao)
TarefaRepository.addTarefa(tarefa)
}
}