package Ġcom . kal um . wheel . ui . schedules Ċ Ċ import Ġcom . kal um . wheel . data . remote . response . Response Ċ import Ġcom . kal um . wheel . data . remote . response . Status Ċ import Ġcom . kal um . wheel . domain . model . Schedule Ċ import Ġcom . kal um . wheel . domain . repository . Schedule Repository Ċ import Ġcom . kal um . wheel . ui . base . Base ViewModel Ċ import Ġcom . kal um . wheel . util . schedul ers . Base Scheduler Ċ import Ġcom . kal um . wheel . util . Schedule Planner Util Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠKal um ĠF ern ando Ġon Ġ 1 1 / 1 / 2 0 1 8 . Ċ Ġ*/ Ċ Ċ class ĠSchedule ViewModel Ċ @ Inject Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġscheduler : ĠBase Scheduler , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġengineer Repository : ĠSchedule Repository Ċ ) Ġ: ĠBase ViewModel < List < Schedule >>() Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġcomposite : ĠDis posable ĊĊĠĠĠ Ġoverride Ġfun Ġload Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġcomposite Ġ= Ġengineer Repository . getS chedules () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSchedule Planner Util ( it ). schedules ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( scheduler . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( scheduler . ui ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Subscribe Ġ{ Ġloading Status . setValue ( true ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. do After Terminate Ġ{ Ġloading Status . setValue ( false ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . setValue ( Response ( Status . SUCCESS , Ġresult , Ġnull )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ Ġthrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . setValue ( Response ( Status . ERROR , Ġnull , Ġthrowable )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊ Ċ }