package Ġpw . wp am . pol ity per . fragments Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . core . view . isVisible Ċ import Ġcom . google . android . gms . maps . Camera Update Factory Ċ import Ġcom . google . android . gms . maps . Google Map Ċ import Ġcom . google . android . gms . maps . On Map Ready Callback Ċ import Ġcom . google . android . gms . maps . Support Map Fragment Ċ import Ġcom . google . android . gms . maps . model . LatLng Ċ import Ġcom . google . android . gms . maps . model . Marker Options Ċ import Ġkotlinx . android . synt hetic . main . fragment _ match _ detail . view .* Ċ import Ġpw . wp am . pol ity per . R Ċ import Ġpw . wp am . pol ity per . adapters . View Page Adapter Ċ import Ġpw . wp am . pol ity per . services . Bet Service Ċ import Ġpw . wp am . pol ity per . models . Match Stats Ċ import Ġcom . google . android . gms . maps . Google Map . MAP _ TYPE _ HY BR ID Ċ import Ġpw . wp am . pol ity per . models . Article Ċ import Ġpw . wp am . pol ity per . services . News Service Ċ import Ġjava . net . URL Encoder Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . Local Time Ċ import Ġjava . time . format . DateTime Formatter Ċ Ċ class ĠMatch Detail Fragment Ġ: ĠFragment (), ĠOn Map Ready Callback Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġm Map : ĠGoogle Map ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Stats : ĠMatch Stats ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġmap Set : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview : ĠView Ġ= Ġinflater . inflate ( R . layout . fragment _ match _ detail , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmap Fragment Ġ= Ġchild FragmentManager . find Fragment ById ( R . id . map ) !! Ġas ĠSupport Map Fragment ĊĠĠĠĠĠĠĠ Ġmap Fragment . getMap Async ( this ) ĊĠĠĠĠĠĠĠ Ġview . map . isVisible Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġval Ġmatch Id Ġ= Ġthis . arguments ?. getInt (" match Id ") ĊĊĠĠĠĠĠĠĠ Ġval Ġplayer One Pager Adapter Ġ= ĠView Page Adapter ( this . require Activity ()) ĊĠĠĠĠĠĠĠ Ġview . view Pager Player One Form . adapter Ġ= Ġplayer One Pager Adapter ĊĠĠĠĠĠĠĠ Ġplayer One Pager Adapter . add Fragment ( Team Form Fragment ( ArrayList < String > ()), Ġ" player One ") ĊĊĠĠĠĠĠĠĠ Ġval Ġplayer Two Pager Adapter Ġ= ĠView Page Adapter ( this . require Activity ()) ĊĠĠĠĠĠĠĠ Ġview . view Pager Player Two Form . adapter Ġ= Ġplayer Two Pager Adapter ĊĠĠĠĠĠĠĠ Ġplayer Two Pager Adapter . add Fragment ( Team Form Fragment ( ArrayList < String > ()), Ġ" player Two ") ĊĊĠĠĠĠĠĠĠ Ġval Ġnews Feed Page Adapter Ġ= ĠView Page Adapter ( this . require Activity ()) ĊĠĠĠĠĠĠĠ Ġview . news Feed ViewPager . adapter Ġ= Ġnews Feed Page Adapter ĊĠĠĠĠĠĠĠ Ġnews Feed Page Adapter . add Fragment ( News Feed Fragment ( ArrayList < Article > ()), Ġ" news Feed ") ĊĊĠĠĠĠĠĠĠ Ġview . loading Spinner . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġview . loading Spinner . br ing To Front () ĊĊĠĠĠĠĠĠĠ ĠBet Service . get Match Statistics ( match Id !! ) Ġ{ Ġsuccess , Ġstats : ĠMatch Stats ? Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġquery Ġ= ĠURL Encoder . encode ( stats ?. player One ?. name Ġ+ Ġ" Ġvs Ġ" Ġ+ Ġstats ?. player Two ?. name ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNews Service . get News ( query ) Ġ{ Ġsuccess , Ġnews Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" MATCH _ DETAIL ", Ġnews . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnews Feed Page Adapter . update Articles ( news . articles ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Stats Ġ= Ġstats !! ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . loading Spinner . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . map . br ing To Front () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . map . isVisible Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . findViewById < TextView >( R . id . stats Player One ). text Ġ= Ġstats ?. player One ?. name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . findViewById < TextView >( R . id . stats Player Two ). text Ġ= Ġstats ?. player Two ?. name ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . findViewById < TextView >( R . id . match Detail DateTime ). text Ġ= Ġthis . create Date ( stats ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( stats ?. finished ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . findViewById < TextView >( R . id . score Player One ). text Ġ= Ġstats ?. player One Result . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . findViewById < TextView >( R . id . score Player Two ). text Ġ= Ġstats . player Two Result . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer One Pager Adapter . update ( stats ?. player One Form !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer Two Pager Adapter . update ( stats ?. player Two Form !! ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( m Map Ġ!= Ġnull Ġ&& Ġ! map Set ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinit Map () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Map Ready ( p 0 : ĠGoogle Map ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Map Ġ= Ġp 0 !! ĊĠĠĠĠĠĠĠ Ġif ( m Stats Ġ!= Ġnull Ġ&& Ġ! map Set ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Map () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinit Map (){ ĊĠĠĠĠĠĠĠ Ġmap Set Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġval Ġposition Ġ= ĠLat Lng ( m Stats ?. venue ?. latitude !! , Ġm Stats ?. venue ?. longitude !! ) ĊĠĠĠĠĠĠĠ ĠLog . d (" MAP ", Ġm Stats ?. venue ?. name !! ) ĊĠĠĠĠĠĠĠ Ġval Ġmarker Ġ= Ġm Map ?. add Marker ( Marker Options (). position ( position ). title ( m Stats ?. venue ?. name !! )) ĊĠĠĠĠĠĠĠ Ġmarker ?. show Info Window () ĊĠĠĠĠĠĠĠ Ġm Map ?. move Camera ( Camera Update Factory . new LatLng Zoom ( position , Ġ 1 6 . 0 f )) ĊĠĠĠĠĠĠĠ Ġm Map ?. map Type Ġ= ĠMAP _ TYPE _ HY BR ID ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" New Api ") ĊĠĠĠ Ġfun Ġcreate Date ( stats : ĠMatch Stats ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Of Start Ġ= ĠLocalDateTime . parse ( stats . date Of Start , ĠDateTime Formatter . ISO _ DATE _ TIME ) ĊĠĠĠĠĠĠĠ Ġval Ġtime Of Start Ġ= ĠLocal Time . parse ( stats . date Of Start , ĠDateTime Formatter . ISO _ OFFSET _ DATE _ TIME ) ĊĊĠĠĠĠĠĠĠ Ġval Ġday Ġ= ĠString . format ("% 0 2 d ", Ġdate Of Start . day OfMonth ) ĊĠĠĠĠĠĠĠ Ġval Ġmonth Ġ= ĠString . format ("% 0 2 d ", Ġdate Of Start . month Value ) ĊĠĠĠĠĠĠĠ Ġval Ġyear Ġ= ĠString . format ("% 0 2 d ", Ġdate Of Start . year ) ĊĠĠĠĠĠĠĠ Ġval Ġd dm my yyy Ġ= Ġ"${ day }-${ month }-${ year }" ĊĠĠĠĠĠĠĠ Ġval Ġhours Ġ= ĠString . format ("% 0 2 d ", Ġdate Of Start . hour ) ĊĠĠĠĠĠĠĠ Ġval Ġminutes Ġ= ĠString . format ("% 0 2 d ", Ġdate Of Start . minute ) ĊĠĠĠĠĠĠĠ Ġval Ġhh ss Ġ= Ġ", Ġ${ hours }:${ minutes }" ĊĠĠĠĠĠĠĠ Ġreturn Ġd dm my yyy Ġ+ Ġhh ss ĊĠĠĠ Ġ} Ċ }