package Ġpt . cosm ik . boost ctrl . ui . matches . detail Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . ProgressBar Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġandroidx . recyclerview . widget . Divider Item Decoration Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġandroidx . swiper ef resh layout . widget . Swipe Refresh Layout Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġorg . k oin . android . view model . ext . android . viewModel Ċ import Ġpt . cosm ik . boost ctrl . MainActivity Ċ import Ġpt . cosm ik . boost ctrl . R Ċ import Ġpt . cosm ik . boost ctrl . models . Up coming Match Ċ import Ġpt . cosm ik . boost ctrl . ui . common . Base Fragment Ċ import Ġpt . cosm ik . boost ctrl . ui . common . KeyValue Action ListAdapter Ċ import Ġpt . cosm ik . boost ctrl . ui . common . KeyValue ListAdapter Ċ import Ġpt . cosm ik . boost ctrl . ui . common . Vertical Space Item Decoration Ċ import Ġpt . cosm ik . boost ctrl . utils . Boost Ctrl Analytics ĊĊ Ċ class ĠMatch Fragment Ġ: ĠBase Fragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġvm : ĠMatch ViewModel Ġby ĠviewModel () ĊĊĠĠĠ Ġprivate Ġvar Ġloading Bar : ĠProgress Bar ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġhome Team Img : ĠImageView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġaway Team Img : ĠImageView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġhome Team Text : ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġaway Team Text : ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġlive Text : ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġro sters Text : ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġvers us Text : ĠTextView ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġswipe Refresh : ĠSw ipe Refresh Layout ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġdivider Item De co : ĠDiv ider Item Decoration ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġvertical Spacer De co Ġ= ĠVertical Space Item Decoration () ĊĊĠĠĠ Ġprivate Ġvar Ġmatch Details RecyclerView : ĠRecyclerView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġmatch Details ListAdapter Ġ= ĠKey Value ListAdapter () ĊĠĠĠ Ġprivate Ġvar Ġteam R ost ers RecyclerView : ĠRecyclerView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġteam R ost ers ListAdapter Ġ= ĠTeam R ost ers ListAdapter () ĊĠĠĠ Ġprivate Ġvar Ġmatch Detail Actions RecyclerView : ĠRecyclerView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġmatch Detail Actions ListAdapter Ġ= ĠKey Value Action ListAdapter () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ? Ġ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ match _ detail , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġloading Bar Ġ= Ġview . findViewById ( R . id . loading _ bar ) ĊĠĠĠĠĠĠĠ Ġhome Team Img Ġ= Ġview . findViewById ( R . id . image _ view _ home _ team ) ĊĠĠĠĠĠĠĠ Ġaway Team Img Ġ= Ġview . findViewById ( R . id . image _ view _ away _ team ) ĊĠĠĠĠĠĠĠ Ġhome Team Text Ġ= Ġview . findViewById ( R . id . text _ home _ team ) ĊĠĠĠĠĠĠĠ Ġaway Team Text Ġ= Ġview . findViewById ( R . id . text _ away _ team ) ĊĠĠĠĠĠĠĠ Ġlive Text Ġ= Ġview . findViewById ( R . id . text _ live ) ĊĠĠĠĠĠĠĠ Ġro sters Text Ġ= Ġview . findViewById ( R . id . match _ ro ster _ title ) ĊĠĠĠĠĠĠĠ Ġvers us Text Ġ= Ġview . findViewById ( R . id . text _ vers us ) ĊĊĠĠĠĠĠĠĠ Ġdivider Item De co Ġ= ĠDiv ider Item Decoration ( context , ĠLinearLayoutManager . VERTICAL ) ĊĠĠĠĠĠĠĠ Ġcontext ?. let Ġ{ Ġcontext Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . get Drawable ( context , ĠR . drawable . bg _ list _ news _ item _ separator )?. let Ġ{ Ġdivider Item De co ?. set Drawable ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġswipe Refresh Ġ= Ġview . findViewById < Swipe Refresh Layout >( R . id . swipe _ refresh )?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Progress BackgroundColor Scheme Resource ( R . color . color Cloud White ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Color Scheme Resources ( R . color . color Accent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset On Refresh Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvm . process Event ( Match ViewModel . Match Fragment Event . Did Trigger Refresh ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmatch Detail Actions ListAdapter . context Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġmatch Detail Actions RecyclerView Ġ= Ġview . findViewById < RecyclerView >( R . id . match _ detail _ actions _ recycler _ view )?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Item Decoration ( vertical Spacer De co ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġmatch Detail Actions ListAdapter ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdis pos ables . add ( match Detail Actions ListAdapter . on Item Click Event (). subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvm . process Event ( Match ViewModel . Match Fragment Event . Selected Action ( it )) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġmatch Details ListAdapter . context Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġmatch Details RecyclerView Ġ= Ġview . findViewById < RecyclerView >( R . id . match _ details _ recycler _ view )?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdivider Item De co ?. let Ġ{ Ġadd Item Decoration ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġmatch Details ListAdapter ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġteam R ost ers ListAdapter . context Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġteam R ost ers RecyclerView Ġ= Ġview . findViewById < RecyclerView >( R . id . teams _ ro ster _ recycler _ view )?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdivider Item De co ?. let Ġ{ Ġadd Item Decoration ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġteam R ost ers ListAdapter ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdis pos ables . add ( team R ost ers ListAdapter . on Item Click Event (). subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvm . process Event ( Match ViewModel . Match Fragment Event . Selected Player ( it )) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġvm . view State . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġloading Bar ?. visibility Ġ= Ġif Ġ( it . isLoading ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlive Text ?. visibility Ġ= Ġif Ġ( it . is Live ) ĠView . VISIBLE Ġelse ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . bar Title ?. let Ġ{ Ġbar Title Ġ-> Ġ( activity Ġas ĠMainActivity ). set ActionBar Title ( bar Title ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhome Team Text !!. text Ġ= Ġit . home Team Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaway Team Text !!. text Ġ= Ġit . away Team Name ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( context !! ). load ( it . home Team Image ). into ( home Team Img !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( context !! ). load ( it . away Team Image ). into ( away Team Img !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . match Details Items ?. let Ġ{ Ġitems Ġ-> Ġmatch Details ListAdapter . set Items ( items ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . team R ost ers Items ?. let Ġ{ Ġitems Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( items . isEmpty ()) Ġro sters Text ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġteam R ost ers ListAdapter . set Items ( items ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . vers us ?. let Ġ{ Ġvers us Ġ-> Ġvers us Text ?. text Ġ= Ġvers us Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . match Actions ?. let Ġ{ Ġitems Ġ-> Ġmatch Detail Actions ListAdapter . set Items ( items ) Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġvm . view Effect . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠMatch ViewModel . Match Fragment View Effect . Show Error Ġ-> Ġshow ErrorMessage ( it . error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠMatch ViewModel . Match Fragment View Effect . Present Person Fragment Ġ-> Ġfind Nav Controller (). navigate ( Match Fragment Directions . action Global Person Fragment ( it . person )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠMatch ViewModel . Match Fragment View Effect . Start Activity Ġ-> ĠstartActivity ( it . intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġvm . process Event ( Match ViewModel . Match Fragment Event . View Created ( arguments ?. get (" match ") Ġas ? ĠUp coming Match , Ġcontext )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġvm . view State . value ?. bar Title ?. let Ġ{ ĠBoost Ctrl Analytics . instance . track Screen (" Match Fragment : Ġ$ it ") Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow ErrorMessage ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ( activity Ġas ĠMainActivity ). showMessage In Sn ackBar ( message ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget ActionBar Title (): ĠString Ġ= Ġcontext ?. getString ( R . string . match _ detail ) Ġ?: Ġ"" ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġremove Observer s () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove Observer s () Ġ{ ĊĠĠĠĠĠĠĠ Ġvm . view State . remove Observer s ( this ) ĊĠĠĠĠĠĠĠ Ġvm . view Effect . remove Observer s ( this ) ĊĠĠĠ Ġ} Ċ } ĊĊ