package Ġcom . example . quick match . content . club čĊč Ċ import Ġandroidx . lifecycle . LiveData č Ċ import Ġandroidx . lifecycle . Mutable LiveData č Ċ import Ġandroidx . lifecycle . ViewModel č Ċ import Ġcom . example . quick match . content . player č Ċ import Ġcom . example . quick match . network . Club And Player Bel ong Club Object č Ċ import Ġcom . example . quick match . network . Club Object č Ċ import Ġcom . example . quick match . network . Database Api č Ċ import Ġkotlinx . coroutines . Coroutine Scope č Ċ import Ġkotlinx . coroutines . Dispatch ers č Ċ import Ġkotlinx . coroutines . Job č Ċ import Ġkotlinx . coroutines . launch č Ċ import Ġtim ber . log . Tim ber čĊč Ċ class ĠClub Fragment ViewModel Ġ: ĠViewModel () Ġ{ čĊčĊĠĠĠ Ġprivate Ġval Ġ_ getStatus Ġ= ĠMutable LiveData < Request Status >() čĊĠĠĠ Ġval ĠgetStatus Ġ: ĠLive Data < Request Status > čĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ getStatus čĊčĊĠĠĠ Ġval Ġclub s Ġ= ĠMutable LiveData < List < Club And Player Bel ong Club Object >>() čĊčĊĠĠĠ Ġprivate Ġval Ġ_ navigate To Club Ġ= ĠMutable LiveData < Int >() čĊĠĠĠ Ġval Ġnavigate To Club Ġ: ĠLive Data < Int > čĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ navigate To Club čĊčĊĠĠĠ Ġ// ĠCreate Ġcoroutine Ġjob Ġand Ġscope čĊĠĠĠ Ġprivate Ġvar ĠviewModel Job Ġ= ĠJob () čĊčĊĠĠĠ Ġ// ĠUses Ġmain Ġthread Ġco z Ġretrofit Ġworks Ġitself Ġon Ġbackground Ġthreads čĊĠĠĠ Ġprivate Ġval Ġcoroutine Scope Ġ= ĠCor outine Scope ( viewModel Job Ġ+ ĠDispatch ers . Main ) čĊčĊĠĠĠ Ġinit Ġ{ čĊĠĠĠĠĠĠĠ Ġget Player Club s () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġget Player Club s () Ġ{ čĊčĊĠĠĠĠĠĠĠ Ġcoroutine Scope . launch Ġ{ čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ getStatus . value Ġ= ĠRequest Status . LOADING čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclub s . value Ġ= ĠDatabase Api . ret rofit Service . getPlayer Club s ( player . id !! ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . i ( club s . value . toString ()) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ getStatus . value Ġ= ĠRequest Status . DONE čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( t : ĠThrowable ) Ġ{ čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ getStatus . value Ġ= ĠRequest Status . ERROR čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . i ( t . message Ġ+ Ġ" Ġ/ Ġget Player Club s () ") čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊčĊĠĠĠ Ġfun Ġon Club Clicked ( club Id : ĠInt ) Ġ{ čĊĠĠĠĠĠĠĠ Ġ_ navigate To Club . value Ġ= Ġclub Id čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġon Club Navig ated () Ġ{ čĊĠĠĠĠĠĠĠ Ġ_ navigate To Club . value Ġ= Ġnull čĊĠĠĠ Ġ} čĊčĊčĊč Ċ }