/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠGoogle , ĠInc . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġme . ban es . chr is . t ivi . show details . details Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . View Ċ import Ġcom . air bnb . e po xy . Typed 3 E po xy Controller Ċ import Ġme . ban es . chr is . t ivi . Post er Grid Item Binding Model _ Ċ import Ġme . ban es . chr is . t ivi . R Ċ import Ġme . ban es . chr is . t ivi . data . entities . T ivi Show Ċ /* Ġk tl int - disable Ġno - unused - imports Ġ*/ Ċ import Ġme . ban es . chr is . t ivi . details Badge Ċ import Ġme . ban es . chr is . t ivi . details Summary Ċ import Ġme . ban es . chr is . t ivi . details Title Ċ import Ġme . ban es . chr is . t ivi . empty State Ċ import Ġme . ban es . chr is . t ivi . header Ċ /* Ġk tl int - disable Ġno - unused - imports Ġ*/ Ċ import Ġme . ban es . chr is . t ivi . t mdb . T mdb ImageUrl Provider Ċ import Ġme . ban es . chr is . t ivi . ui . e po xy . Total Span Override Ċ import Ġme . ban es . chr is . t ivi . ui . e po xy . carousel Ċ import Ġme . ban es . chr is . t ivi . ui . e po xy . with Models From Ċ Ċ class ĠShow Details E po xy Controller ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġprivate Ġval Ġcallbacks : ĠCallback s Ċ ) Ġ: ĠTyped 3 E po xy Controller < T ivi Show , ĠList < T ivi Show >, ĠT mdb ImageUrl Provider >() Ġ{ ĊĊĠĠĠ Ġinterface ĠCallback s Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Related Show Clicked ( show : ĠT ivi Show , Ġview : ĠView ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbuild Models ( show : ĠT ivi Show , Ġrelated : ĠList < T ivi Show >, Ġt mdb ImageUrl Provider : ĠT mdb ImageUrl Provider ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdetails Title Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid (" title ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle ( show . title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsubtitle ( show . original Title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgen res ( show . genres ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspan Size Override ( Total Span Override ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġshow . rating ?. let Ġ{ Ġrating Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdetails Badge Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrating OutOf One H undred Ġ= ĠMath . round ( rating Ġ* Ġ 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid (" rating ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel ( context . getString ( R . string . percentage _ format , Ġrating OutOf One H undred )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon ( R . drawable . ic _ details _ rating ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description ( context . getString ( R . string . rating _ content _ description _ format , Ġrating OutOf One H undred )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġshow . network ?. let Ġ{ Ġnetwork Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdetails Badge Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid (" network ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel ( network ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon ( R . drawable . ic _ details _ network ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description ( context . getString ( R . string . network _ content _ description _ format , Ġnetwork )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġshow . cert ification ?. let Ġ{ Ġcertificate Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdetails Badge Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid (" cert ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel ( certificate ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon ( R . drawable . ic _ details _ certificate ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description ( context . getString ( R . string . certificate _ content _ description _ format , Ġcertificate )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġshow . runtime ?. let Ġ{ Ġruntime Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdetails Badge Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġruntime Minutes Ġ= Ġcontext . getString ( R . string . minutes _ format , Ġruntime ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid (" runtime ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel ( runtime Minutes ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon ( R . drawable . ic _ details _ runtime ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description ( context . resources ?. get Quantity String ( R . plurals . runtime _ content _ description _ format , Ġruntime , Ġruntime )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdetails Summary Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid (" summary ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsummary ( show . summary ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspan Size Override ( Total Span Override ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġheader Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid (" related _ header ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle ( R . string . details _ related ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspan Size Override ( Total Span Override ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( related . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġempty State Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid (" related _ empty ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspan Size Override ( Total Span Override ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcarousel Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid (" related _ shows ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum Views To Show On Screen ( 4 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpadding Dp ( 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhas Fixed Size ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Models From ( related ) Ġ{ Ġrelated Show Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPost er Grid Item Binding Model _() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. id (" related _${ related Show . id }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. title ( related Show . title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. t mdb ImageUrl Provider ( t mdb ImageUrl Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. poster Path ( related Show . t mdb Post er Path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. click Listener Ġ{ Ġview Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallbacks . on Related Show Clicked ( related Show , Ġview ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }