package Ġcom . ww y . android . vm Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . ww y . android . data . bean . Article Ċ import Ġcom . ww y . android . data . bean . Banner Ċ import Ġcom . ww y . android . data . bean . base . Result Data Ċ import Ġcom . ww y . android . data . repository . Article User Case Ċ import Ġcom . ww y . android . data . repository . Main Repository Ċ import Ġcom . ww y . android . util . ListModel Ċ import Ġcom . ww y . android . view . load page . Load Page Status Ċ import Ġcom . ww y . android . vm . base . Base ViewModel Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . with Context Ċ Ċ /** Ċ Ġ*@ åĪĽå»º èĢħ ww y Ċ Ġ*@ åĪĽå»º æĹ¶éĹ´ Ġ 2 0 2 0 / 1 / 1 3 Ġ 1 4 : 2 4 Ċ Ġ*@ æııè¿° Ċ Ġ*/ Ċ class ĠHome Page ViewModel ( private Ġval Ġmain Repository Ġ: ĠMain Repository , Ġprivate Ġval Ġarticle User Case : Article User Case ) Ġ: ĠBase ViewModel () Ġ{ ĊĠĠĠ Ġval Ġm Banner : ĠMutable LiveData < List < Banner >> Ġ= ĠMutable LiveData () ĊĠĠĠ Ġval Ġm ListModel Ġ= ĠMutable LiveData < ListModel < Article >>() ĊĠĠĠ Ġprivate Ġval Ġload Page Status Ġ= ĠMutable LiveData < Load Page Status >() ĊĠĠĠ Ġval Ġm Stick Articles Ġ= ĠMutable LiveData < List < Article >>() ĊĠĠĠ Ġfun Ġload Banner () Ġ= Ġlaunch UI Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ Ġmain Repository . getB anners () Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( result Ġis ĠResult Data . Success ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Banner . value Ġ= Ġresult . data ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload Home Articles ( is Refresh : ĠBoolean Ġ= Ġfalse ) Ġ= Ġlaunch UI Ġ{ ĊĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarticle User Case . get Home Article List ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Refresh , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm ListModel , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload Page Status ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload Stick Articles () Ġ= Ġlaunch UI Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ Ġmain Repository . get Stick Articles () Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( result Ġis ĠResult Data . Success ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Stick Articles . value Ġ= Ġresult . data ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }