package Ġorg . fo ss as ia . open event . general . order Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġorg . fo ss as ia . open event . general . R Ċ import Ġorg . fo ss as ia . open event . general . common . Single Live Event Ċ import Ġorg . fo ss as ia . open event . general . data . Resource Ċ import Ġorg . fo ss as ia . open event . general . event . Event Ċ import Ġorg . fo ss as ia . open event . general . event . Event Service Ċ import Ġtim ber . log . Tim ber Ċ Ċ class ĠOrder Completed ViewModel ( private Ġval Ġevent Service : ĠEvent Service , Ġprivate Ġval Ġresource : ĠResource ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcomposite Disposable Ġ= ĠComposite Disposable () ĊĊĠĠĠ Ġprivate Ġval Ġmutable Message Ġ= ĠSingle Live Event < String >() ĊĠĠĠ Ġval Ġmessage : ĠLive Data < String > Ġ= Ġmutable Message ĊĠĠĠ Ġprivate Ġval Ġmutable Event Ġ= ĠMutable LiveData < Event >() ĊĠĠĠ Ġval Ġevent : ĠLive Data < Event > Ġ= Ġmutable Event ĊĊĠĠĠ Ġfun Ġload Event ( id : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( id . equals (- 1 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" ID Ġshould Ġnever Ġbe Ġ- 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcomposite Disposable . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent Service . getEvent ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Event . value Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( it , Ġ" Error Ġfetching Ġevent Ġ% d ", Ġid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Message . value Ġ= Ġresource . getString ( R . string . error _ fetch ing _ event _ message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Cle ared () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Cle ared () ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . clear () ĊĠĠĠ Ġ} Ċ } Ċ