package Ġsmart . base Ċ Ċ import Ġandroid . log . Log Ċ import Ġandroidx . annotation . Call Super Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġio . reactivex . Single Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ Ċ abstract Ġclass ĠB ViewModel Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġval Ġ_ is Progress Ġ= ĠMutable LiveData < Boolean >() ĊĠĠĠ Ġval Ġis Progress : ĠLive Data < Boolean > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ is Progress ĊĊĠĠĠ Ġval Ġ_ toast Ġ= ĠMutable LiveData < String >() ĊĠĠĠ Ġval Ġtoast : ĠLive Data < String > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ toast ĊĊĠĠĠ Ġval Ġ_ alert Ġ= ĠMutable LiveData < String >() ĊĠĠĠ Ġval Ġalert : ĠLive Data < String > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ alert ĊĊĠĠĠ Ġval Ġ_ title Ġ= ĠMutable LiveData < String >() ĊĠĠĠ Ġval Ġtitle : ĠLive Data < String > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ title ĊĊĠĠĠ Ġprivate Ġval Ġdis pos ables Ġ= ĠComposite Disposable () ĊĠĠĠ Ġfun ĠDis posable . auto Disposable () Ġ{ ĊĠĠĠĠĠĠĠ Ġdis pos ables . add ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġon Cle ared () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Cle ared () ĊĠĠĠĠĠĠĠ Ġdis pos ables . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" Un stable Api Usage ") ĊĠĠĠ Ġfun Ġ< T > ĠSingle < T >. progress (): ĠSingle < T > Ġ= ĊĠĠĠĠĠĠĠ Ġdo On Subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" do On Subscribe ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ is Progress . post Value ( true ) ĊĠĠĠĠĠĠĠ Ġ}. do OnError Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" do OnError ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ is Progress . post Value ( false ) ĊĠĠĠĠĠĠĠ Ġ}. do On Success Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" do On Success ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ is Progress . post Value ( false ) ĊĠĠĠĠĠĠĠ Ġ}. do On Terminate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" do On Terminate ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ is Progress . post Value ( false ) ĊĠĠĠĠĠĠĠ Ġ} Ċ }