package Ġcom . l nd m fl ng s . color izer . ui . base Ċ Ċ import Ġandroidx . databinding . Observable Boolean Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . l nd m fl ng s . color izer . data . DataManager Helper Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġjava . lang . ref . Weak Reference Ċ Ċ abstract Ġclass ĠBase ViewModel < N >( ĊĠĠĠ Ġval Ġdata Manager : ĠData Manager Helper Ċ ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġval ĠisLoading LiveData : ĠMutable LiveData < Boolean > Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠMutable LiveData < Boolean >() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval ĠisLoading : ĠObservable Boolean Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠObservable Boolean () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġcomposite Disposable : ĠComposite Disposable Ġ= ĠComposite Disposable () ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnavigator Reference : ĠWeak Reference < N > ĊĊĠĠĠ Ġvar Ġnavigator : ĠN ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġnavigator Reference . get () ĊĠĠĠĠĠĠĠ Ġset ( navigator ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . navigator Reference Ġ= ĠWeak Reference < N >( navigator ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Cle ared () Ġ{ ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . dispose () ĊĠĠĠĠĠĠĠ Ġsuper . on Cle ared () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsetIs Loading ( boolean : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . isLoading . set ( boolean ) ĊĠĠĠĠĠĠĠ ĠisLoading LiveData . value Ġ= Ġboolean ĊĠĠĠ Ġ} Ċ Ċ }