package Ġcom . h ari . covid _ 1 9 app . ui . prevent ions Ċ Ċ import Ġandroidx . h ilt . lifecycle . ViewModel Inject Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . as LiveData Ċ import Ġcom . h ari . covid _ 1 9 app . model . App Error Ċ import Ġcom . h ari . covid _ 1 9 app . model . Pre vention Ċ import Ġcom . h ari . covid _ 1 9 app . repository . Cov id Repository Ċ import Ġcom . h ari . covid _ 1 9 app . utils . ext . combine Ċ import Ġcom . h ari . covid _ 1 9 app . utils . ext . to App Error Ċ Ċ class ĠPre ventions ViewModel Ġ@ ViewModel Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġcov id Repository : ĠC ov id Repository Ċ ) Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġclass ĠUi Model ( ĊĠĠĠĠĠĠĠ Ġval ĠisLoading : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġval Ġapp Error : ĠApp Error ?, ĊĠĠĠĠĠĠĠ Ġval Ġprevent ions : ĠList < Pre vention >? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠEMPTY Ġ= ĠUi Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġprevent ions Load State Ġ= Ġcov id Repository . get Pre ventions (). as LiveData () ĊĊĠĠĠ Ġval Ġui : ĠLive Data < Ui Model > Ġ= Ġcombine ( ĊĠĠĠĠĠĠĠ Ġinitial Value Ġ= ĠUi Model . EMPTY , ĊĠĠĠĠĠĠĠ Ġlive Data 1 Ġ= Ġprevent ions Load State ĊĠĠĠ Ġ) Ġ{ Ġ_, Ġquestions Ġ-> ĊĊĠĠĠĠĠĠĠ ĠUi Model ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠisLoading Ġ= Ġquestions . isLoading , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Error Ġ= Ġquestions . getError IfExists (). to App Error (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprevent ions Ġ= Ġquestions . getValue OrNull () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ Ċ }