package Ġcom . example . poly care er . screens . main . old _ results Ċ Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . example . poly care er . base . Base Action Ċ import Ġcom . example . poly care er . base . Base State Ċ import Ġcom . example . poly care er . base . Base ViewModel Ċ import Ġcom . example . poly care er . domain . model . User Result Info Ċ import Ġcom . example . poly care er . domain . use case . Old Results UseCase Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠOld Results ViewModel ( ĊĠĠĠ Ġprivate Ġval Ġuse Case : ĠOld Results UseCase Ċ ) Ġ: ĠBase ViewModel < Old Results ViewModel . Old Results State , ĠOld Results ViewModel . Old Results Action >( ĊĠĠĠ ĠOld Results State () Ċ ) Ġ{ ĊĠĠĠ Ġfun ĠgetData () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuse Case . getData (). also Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠOld Results UseCase . Result . Success Ġ-> Ġsend Action ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOld Results Action . Show Results ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . old Results ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠOld Results UseCase . Result . Error Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend Action ( Old Results Action . Error ( result . message )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Reduce State ( action : ĠOld Results Action ): ĠOld Results State Ġ= Ġwhen Ġ( action ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠOld Results Action . Show Results Ġ-> Ġstate . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresults Info Ġ= Ġaction . results Info , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġis ĠOld Results Action . Error Ġ-> Ġstate . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresults Info Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsealed Ġinterface ĠOld Results Action Ġ: ĠBase Action Ġ{ ĊĠĠĠĠĠĠĠ Ġclass ĠShow Results ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresults Info : ĠList < User Result Info > ĊĠĠĠĠĠĠĠ Ġ) Ġ: ĠOld Results Action ĊĊĠĠĠĠĠĠĠ Ġclass ĠError ( val Ġmessage : ĠString ) Ġ: ĠOld Results Action ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠOld Results State ( ĊĠĠĠĠĠĠĠ Ġval Ġresults Info : ĠList < User Result Info > Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠ Ġval Ġerror : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġ) Ġ: ĠBase State Ċ }