package Ġcom . fil ipp o eng idas het . spac ex . mv vm . vm Ċ Ċ import Ġandroidx . lifecycle .* Ċ import Ġcom . fil ipp o eng idas het . spac ex . mv vm . model . entity . bean . Company Data Ċ import Ġcom . fil ipp o eng idas het . spac ex . mv vm . model . entity . bean . Result Bean Ċ import Ġcom . fil ipp o eng idas het . spac ex . mv vm . model . repository . Space X Repository Ċ import Ġdagger . h ilt . android . lifecycle . H ilt ViewModel Ċ import Ġkotlinx . coroutines . flow . collect Latest Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* Ġ@ author ĠFil ipp o Ġ 0 9 / 1 1 / 2 0 2 1 Ċ Ġ*/ Ċ @ H ilt ViewModel Ċ class ĠCompany ViewModel Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġrepository : ĠSpace X Repository , Ċ ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġloaded : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġval Ġ_ company Data Ġ= ĠMutable LiveData < Result Bean < Company Data >>() ĊĠĠĠ Ġfun Ġget Company LiveData (): ĠLive Data < Result Bean < Company Data >> Ġ= Ġ_ company Data ĊĊĠĠĠ Ġfun Ġload () Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( loaded ) Ġreturn ĊĠĠĠĠĠĠĠ Ġloaded Ġ= Ġtrue ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . get Company Data Flow (). collect Latest Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ company Data . value Ġ= Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ