package Ġboot camp . s nt . boot camp s ant and ert odo . features . list Todo . view model Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġboot camp . s nt . boot camp s ant and ert odo . data . repository . Repository Callback Ċ import Ġboot camp . s nt . boot camp s ant and ert odo . data . repository . Todo Repository Ċ import Ġboot camp . s nt . boot camp s ant and ert odo . model . State View Ċ import Ġboot camp . s nt . boot camp s ant and ert odo . model . Todo Ċ Ċ class ĠList Todos ViewModel ( private Ġval Ġrepository : ĠTodo Repository ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġ_ state View Ġ= ĠMutable LiveData < State View < List < Todo >> >() ĊĠĠĠ Ġval Ġstate View : ĠLive Data < State View < List < Todo >>> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ state View ĊĊĠĠĠ Ġfun ĠgetAll Todos () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(_ state View . value Ġ!= Ġnull ) Ġreturn ĊĠĠĠĠĠĠĠ Ġ_ state View . value Ġ= ĠState View . Loading ĊĊĠĠĠĠĠĠĠ Ġrepository . getAll ( object Ġ: ĠRepository Callback < List < Todo >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Su cesso ( todos : ĠList < Todo > ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtodos ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ state View . value Ġ= ĠState View . Data Loaded ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon F al ha ( t : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ state View . value Ġ= ĠState View . Error ( Exception (" O corre u Ġum Ġerro Ġao Ġrecuper ar Ġos Ġdados ! ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ }