package Ġbr . com . help dev . github ers . ui . fr ags . user Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ 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 ĠUser ViewModel Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġuser Repository : ĠUser Repository , ĊĠĠĠ Ġprivate Ġval Ġfavorite Repository : ĠF avorite Repository Ċ ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġlogin : ĠString Ġ= Ġ"" ĊĠĠĠ Ġlateinit Ġvar Ġuser : ĠLive Data < User With Fav > ĊĊĠĠĠ Ġfun Ġinit ( login : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . login Ġ= Ġlogin ĊĠĠĠĠĠĠĠ Ġuser Ġ= Ġuser Repository . getUser ( viewModel Scope , Ġlogin ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Network Service Status () Ġ= ĊĠĠĠĠĠĠĠ Ġuser Repository . get Network Service Status ( UserRepository . LOAD _ SERVICE _ USER ) ĊĊĠĠĠ Ġfun ĠaddTo Favorite () Ġ{ ĊĠĠĠĠĠĠĠ Ġuser . value Ġ?: Ġthrow ĠIllegalStateException (" Init Ġnot Ġcalled ") ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfavorite Repository . add Favorite ( user . value !!. user . id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }