package Ġbr . com . help dev . github ers . ui . fr ags . users list Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġandroidx . paging . Paged List Ċ import Ġbr . com . help dev . github ers . data . db . entity . User With Fav Ċ import Ġbr . com . help dev . github ers . data . repository . Favorite Repository Ċ import Ġbr . com . help dev . github ers . data . repository . UserRepository Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠUsers List ViewModel Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġuser Repository : ĠUser Repository , ĊĠĠĠ Ġprivate Ġval Ġfavorite Repository : ĠF avorite Repository Ċ ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġuser List : ĠLive Data < Paged List < User With Fav >> ? Ġ= Ġnull ĊĊĠĠĠ Ġfun ĠgetUser With Fav List (): ĠLive Data < Paged List < User With Fav >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġuser List Ġ?: Ġuser Repository . get Users ( viewModel Scope ). also Ġ{ Ġuser List Ġ= Ġit Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Favorite ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfavorite Repository . add Favorite ( id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove Favorite ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfavorite Repository . remove Favorite ( id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Network Service Status () Ġ= ĊĠĠĠĠĠĠĠ Ġuser Repository . get Network Service Status ( UserRepository . LOAD _ SERVICE _ USERS ) Ċ Ċ }