package Ġtw . ne il . sample . arch . mv vm . schedule on off . repository Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġtw . ne il . sample . arch . mv vm . schedule on off . data . Task Ċ import Ġtw . ne il . sample . arch . mv vm . schedule on off . data . Task Dao Ċ Ċ /** Ċ Ġ* ĠProvides Ġa Ġclean ĠAPI Ġfor Ġdata Ġaccess Ġto Ġthe Ġrest Ġof Ġthe Ġapplication . Ċ Ġ*/ Ċ class ĠTask Repository ( private Ġval Ġtask Dao : ĠTask Dao ) Ġ: ĠRepository Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġall Tasks : ĠLive Data < List < Task >> Ġ= Ġtask Dao . getAll LiveData () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun ĠgetAll (): ĠList < Task > Ġ= Ġtask Dao . getAll () ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget StartTime LiveData ( day OfWeek : ĠInt ): ĠLive Data < Task > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtask Dao . get LiveData ( day OfWeek , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget EndTime LiveData ( day OfWeek : ĠInt ): ĠLive Data < Task > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtask Dao . get LiveData ( day OfWeek , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġenable Week ( day OfWeek : ĠInt , Ġenabled : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtask Dao . enable Week ( day OfWeek , Ġenabled ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġenable All ( enabled : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtask Dao . enable All ( enabled ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġenable StartTime ( enabled : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtask Dao . enable Screen On ( enabled ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġenable EndTime ( enabled : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtask Dao . enable Screen Off ( enabled ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġupdate ( task : ĠTask ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtask Dao . update ( task ) ĊĠĠĠ Ġ} Ċ }