package Ġcom . nom ad . min haser ie . ui Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . text . Html Ċ import Ġandroid . view . View Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . nom ad . min haser ie . R Ċ import Ġcom . nom ad . min haser ie . adapter . Season Adapter Ċ import Ġcom . nom ad . min haser ie . data access . api . T VM aze Api Ċ import Ġcom . nom ad . min haser ie . data access . api . T VM aze Endpoints Ċ import Ġcom . nom ad . min haser ie . data access . models . Episode Ċ import Ġcom . nom ad . min haser ie . data access . models . Season Ċ import Ġcom . nom ad . min haser ie . data access . models . Show Ċ import Ġkotlinx . android . synt hetic . main . activity _ show _ detail .* Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Response Ċ Ċ class ĠShow Detail Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġvar Ġid : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġval Ġclient Ġ= ĠT VM aze Api . getInstance () ĊĠĠĠ Ġprivate Ġval Ġtv M aze Ġ= Ġclient . create ( T VM aze Endpoints :: class . java ) ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġshow : ĠShow ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġse asons : ĠList < Season > ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ show _ detail ) ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġintent . get Serializable Extra (" id ") Ġas ĠInt ĊĊĠĠĠĠĠĠĠ Ġget Show ById () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġget Show ById () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġshow Ġ= Ġtv M aze . get Show ById ( id ) ĊĠĠĠĠĠĠĠ Ġp gb Show Det al he . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġsrv Show Det al he . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠ Ġshow . enqueue ( object Ġ: Ġretrofit 2 . Callback < Show > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Show >, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// TODO : fal ha ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp gb Show Det al he . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsrv Show Det al he . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall : ĠCall < Show >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse : ĠResponse < Show > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . body () Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Show Detail . show Ġ= Ġresponse . body () !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload Show Data () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Show Se asons ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Show Se asons ( show Id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġseason Ġ= Ġtv M aze . get Se asons By Show Id ( show Id ) ĊĠĠĠĠĠĠĠ Ġseason . enqueue ( object Ġ: Ġretrofit 2 . Callback < List < Season >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < List < Season >>, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp gb Show Det al he . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsrv Show Det al he . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < List < Season >>, Ġresponse : ĠResponse < List < Season >>) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . body () Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Show Detail . se asons Ġ= Ġresponse . body () !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload Se asons Data () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp gb Show Det al he . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsrv Show Det al he . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġload Se asons Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlm Ġ= ĠLinearLayoutManager ( this ) ĊĠĠĠĠĠĠĠ Ġr cv Se asons . layout Manager Ġ= Ġlm ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠSe ason Adapter ( se asons , Ġthis ) ĊĠĠĠĠĠĠĠ Ġr cv Se asons . adapter Ġ= Ġadapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠ Ġprivate Ġfun Ġload Show Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġlbl Nome Show . text Ġ= Ġshow . name ĊĠĠĠĠĠĠĠ Ġlbl Show Rate Det al he . text Ġ= Ġshow . rating . average . toString () ĊĠĠĠĠĠĠĠ Ġif Ġ( show . image ?. medium Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( show . image . medium ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . pop corn ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions (). override ( 2 0 0 , Ġ 3 0 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( img Show Det al he ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( R . drawable . pop corn ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions (). override ( 2 0 0 , Ġ 3 0 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( img Show Det al he ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( show . genres . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġshow Gener os Ġ= Ġshow . genres ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġgener os Ġ= Ġshow Gener os [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( show Gener os . size Ġ> Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġuntil Ġshow Gener os . size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgener os Ġ= Ġgener os . plus (", Ġ${ show Gener os [ i ]} ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlbl Show Gener os . text Ġ= Ġgener os ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlbl H ora Show Det al he . text Ġ= Ġ"${ getString ( R . string . hour )} : Ġ${ show . schedule . time }" ĊĠĠĠĠĠĠĠ Ġif Ġ( show . schedule . days . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdi as Ġ= Ġshow . schedule . days ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġprogram acao Di as Ġ= Ġ"${ getString ( R . string . days )} : Ġ${ di as [ 0 ]}" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( di as . size Ġ> Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġuntil Ġdi as . size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogram acao Di as Ġ= Ġprogram acao Di as . plus (", Ġ${ di as [ i ]} ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlbl D ia Show Det al he . text Ġ= Ġprogram acao Di as ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( show . summary . isNull OrEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlbl Show Res um o Det al he Text o . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlbl Show Res um o Det al he Text o . text Ġ= ĠHtml . from Html ( show . summary ) ĊĠĠĠ Ġ} Ċ } ĊĊĊĊĊĊĊĊ ĊĊĊĊĊĊ