package Ġcom . mt jin . cn un ot ice app . views . general Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . mt jin . cn un ot ice app . base . Base ViewModel Ċ import Ġcom . mt jin . cn un ot ice app . data . general . General Notice Ċ import Ġcom . mt jin . cn un ot ice app . data . general . source . General Notice Repository Ċ import Ġcom . mt jin . cn un ot ice app . data . general . source . remote . General Notice Remote DataSource Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ Ċ class ĠGeneral Notice ViewModel ( private Ġval Ġgeneral Repository : ĠGeneral Notice Repository ) Ġ: ĊĠĠĠ ĠBase ViewModel () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġ_ notice List Ġ= ĠMutable LiveData < ArrayList < General Notice >>() ĊĊĠĠĠ Ġval Ġnotice List : ĠLive Data < ArrayList < General Notice >> Ġget () Ġ= Ġ_ notice List ĊĊĠĠĠ Ġfun Ġrequest Notice () Ġ{ ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgeneral Repository . request Notice () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Subscribe Ġ{ Ġshow Progress () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. do After Terminate Ġ{ Ġhide Progress () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ notice List . value Ġ= Ġit Ġas ĠArrayList < General Notice >? ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ"" Ġ+ Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrequest More Notice ( offset : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgeneral Repository . request More Notice ( offset ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Subscribe Ġ{ Ġshow Progress () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. do After Terminate Ġ{ Ġhide Progress () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġnotices Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpaging Notice List Ġ= Ġ_ notice List . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpaging Notice List ?. addAll ( notices ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ notice List . value Ġ= Ġpaging Notice List ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ"" Ġ+ Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG Ġ= Ġ" General Notice ViewModel " ĊĠĠĠ Ġ} Ċ }