package Ġcom . ky aw hut . ats y cast . ms ub pc . ui . foot ball Ċ Ċ import Ġandroidx . lifecycle . Saved State Handle Ċ import Ġcom . ky aw hut . ats y cast . ms ub pc . data . network . response . Foot ball Response Ċ import Ġcom . ky aw hut . ats y cast . ms ub pc . data . network . response . Foot ball Stream Response Ċ import Ġcom . ky aw hut . ats y cast . ms ub pc . utils . Constants Ċ import Ġcom . ky aw hut . ats y cast . share . base . Base ViewModel Ċ import Ġcom . ky aw hut . ats y cast . share . network . utils . Network Response Ċ import Ġdagger . h ilt . android . lifecycle . H ilt ViewModel Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* Ġ@ author Ġk yaw ht ut Ċ Ġ* Ġ@ date Ġ 9 / 6 / 2 1 Ċ Ġ*/ Ċ @ H ilt ViewModel Ċ internal Ġclass ĠF oot ball ViewModel Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġsaved State Handle : ĠSaved State Handle , ĊĠĠĠ Ġprivate Ġval Ġrepo : ĠF oot ball Repository Ċ ) Ġ: ĠBase ViewModel () Ġ{ ĊĊĠĠĠ Ġval ĠappName : ĠString Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġsaved State Handle . get ( Constants . EXTRA _ APP _ NAME ) Ġ?: Ġ"" ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġchannel Logo : ĠString Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġsaved State Handle . get ( Constants . EXTRA _ CHANNEL _ LOG O ) Ġ?: Ġ"" ĊĠĠĠ Ġ} ĊĠĠĠ Ġvar Ġfoot ball : ĠF oot ball Response . Data ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġget Foot ball ( ĊĠĠĠĠĠĠĠ Ġcallback : Ġ( Network Response < List < Foot ball Response . Data >>) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepo . get Foot ball ( callback ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Foot ball Stream ( ĊĠĠĠĠĠĠĠ Ġfoot ball : ĠF oot ball Response . Data ? Ġ= Ġthis . foot ball , ĊĠĠĠĠĠĠĠ Ġcallback : Ġ( Network Response < Foot ball Stream Response >) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . foot ball Ġ= Ġfoot ball ĊĠĠĠĠĠĠĠ Ġif Ġ( foot ball Ġ== Ġnull ) Ġreturn ĊĠĠĠĠĠĠĠ ĠviewModel Scope Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepo . get Foot ball Stream ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfoot ball . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ