package Ġcom . z ara os . cur riculum . presentation . home Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . lifecycle . Android ViewModel Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . z ara os . cur riculum . My Application Ċ import Ġcom . z ara os . cur riculum . data . repository . Home Repository Ċ import Ġcom . z ara os . cur riculum . data . source . Resource Ċ import Ġcom . z ara os . cur riculum . di . components . D agger Activity Component Ċ import Ġcom . z ara os . cur riculum . domain . entity . User Entity Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġale j andro . z ara os Ġon Ġ 2 0 1 9 - 0 5 - 2 8 . Ċ Ġ*/ Ċ class ĠHome ViewModel ( application : ĠApplication ) Ġ: ĠAndroid ViewModel ( application ) Ġ{ ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġhome Repository : ĠHome Repository ĊĠĠĠ Ġprivate Ġval Ġcomposite Disposable Ġ= ĠComposite Disposable () ĊĊĠĠĠ Ġval Ġ_ user Information Ġ= ĠMutable LiveData < Resource < User Entity >>() ĊĠĠĠ Ġval Ġuser Information : ĠLive Data < Resource < User Entity >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ user Information ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠD agger Activity Component . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. base Network Component ( My Application . base Network Component ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inject ( this ) ĊĊĠĠĠĠĠĠĠ Ġhome Repository . getUser Information Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ user Information . post Value ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġretry () Ġ{ ĊĠĠĠĠĠĠĠ Ġhome Repository . getUser Information Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ user Information . post Value ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Cle ared () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Cle ared () ĊĠĠĠĠĠĠĠ Ġhome Repository . all Composite Disposable . forEach Ġ{ Ġcomposite Disposable . add ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . clear () ĊĠĠĠ Ġ} Ċ }