package Ġde . f kl app an . app . work out log . ui . overview statistic Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġde . f kl app an . app . work out log . common . Gui Model Mapper Ċ import Ġde . f kl app an . app . work out log . common . LOG _ TAG Ċ import Ġde . f kl app an . app . work out log . common . Rx ViewModel Ċ import Ġde . f kl app an . app . work out log . common . Use Cases Factory Ċ import Ġde . f kl app an . app . work out log . domain . Statistic Current Domain Model Ċ import Ġio . reactivex . Scheduler Ċ import Ġjava . util .* Ċ Ċ class ĠOverview Statistic ViewModel ( private Ġval Ġuse Case Factory : ĠUse Cases Factory , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġscheduler Io : ĠScheduler , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġscheduler MainThread : ĠScheduler , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġmodel Mapper : ĠGui Model Mapper ) Ġ: ĊĠĠĠ ĠRx ViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġ_ state Ġ= ĠMutable LiveData < Overview Statistic State >() ĊĠĠĠ Ġval Ġstate : ĠLive Data < Overview Statistic State > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ state ĊĊĠĠĠ Ġ////////////////////////////////////////////////////////////////// //////////////////////////////////////////////// // ĊĠĠĠ Ġ// Ġpublic Ġmethods Ġa ka Ġentry Ġpoints Ġ- Ġwill Ġbe Ġinvoked Ġby Ġthe Ġview ĊĊĠĠĠ Ġfun Ġload Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ state . value Ġ= ĠOverview Statistic State . Loading ĊĠĠĠĠĠĠĠ Ġadd Disposable ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuse Case Factory . create Get Statistic UseCase (). execute ( Calendar . getInstance ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( scheduler Io ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( scheduler MainThread ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis :: handle Success , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis :: handleError ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ////////////////////////////////////////////////////////////////// //////////////////////////////////////////////// // ĊĠĠĠ Ġ// Ġprivate Ġmethods ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Success ( statistic Current Domain Model : ĠStat istic Current Domain Model ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġmap Ġdomain Ġmodel Ġto Ġgui Ġmodel ĊĠĠĠĠĠĠĠ Ġ_ state . value Ġ= ĠOverview Statistic State . Statistic ( model Mapper . map Domain To Gui ( statistic Current Domain Model )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Error ( error : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . e ( LOG _ TAG , Ġ" Error Ġwhile Ġloading Ġwork outs ", Ġerror ) ĊĠĠĠĠĠĠĠ Ġ_ state . value Ġ= ĠOverview Statistic State . Error ( error . localized Message ) ĊĠĠĠ Ġ} Ċ }