package Ġcom . example . mov iem v vm app . ui . popular _ movie Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . paging . Paged List Ċ import Ġcom . example . mov iem v vm app . data . repository . Network State Ċ import Ġcom . example . mov iem v vm app . data . vo . Movie Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ Ċ class ĠMainActivity ViewModel ( private Ġval Ġmovie Repository : ĠMovie Page List Repository ): ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcomposite Disposable Ġ= ĠComposite Disposable () ĊĊĠĠĠ Ġval Ġmovie Page List Ġ: ĠLive Data < Paged List < Movie >> Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġmovie Repository . fetch Live Movie Paged List ( composite Disposable ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġnetwork State Ġ: ĠLive Data < Network State > Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġmovie Repository . get Network State () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġlist IsEmpty (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmovie Page List . value ?. isEmpty () ?: Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Cle ared () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Cle ared () ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . dispose () ĊĠĠĠ Ġ} Ċ Ċ }