/* Ċ Ġ* Ġ***************************************************************** ******* Ċ Ġ* Ġ ĠVideo Details Presenter . kt Ċ Ġ* Ġ************************************************************************* Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 9 ĠV LC Ġauthors Ġand ĠVideo LAN Ċ Ġ* ĠAuthor : ĠN icol as ĠPO ME PU Y Ċ Ġ* ĠThis Ġprogram Ġis Ġfree Ġsoftware ; Ġyou Ġcan Ġredistribute Ġit Ġand / or Ġmodify Ċ Ġ* Ġit Ġunder Ġthe Ġterms Ġof Ġthe ĠGNU ĠGeneral ĠPublic ĠLicense Ġas Ġpublished Ġby Ċ Ġ* Ġthe ĠFree ĠSoftware ĠFoundation ; Ġeither Ġversion Ġ 2 Ġof Ġthe ĠLicense , Ġor Ċ Ġ* Ġ( at Ġyour Ġoption ) Ġany Ġlater Ġversion . Ċ Ġ* Ċ Ġ* ĠThis Ġprogram Ġis Ġdistributed Ġin Ġthe Ġhope Ġthat Ġit Ġwill Ġbe Ġuseful , Ċ Ġ* Ġbut ĠWITHOUT ĠANY ĠWARRANTY ; Ġwithout Ġeven Ġthe Ġimplied Ġwarranty Ġof Ċ Ġ* ĠMERCHANTABILITY Ġor ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE . Ġ ĠSee Ġthe Ċ Ġ* ĠGNU ĠGeneral ĠPublic ĠLicense Ġfor Ġmore Ġdetails . Ċ Ġ* Ċ Ġ* ĠYou Ġshould Ġhave Ġreceived Ġa Ġcopy Ġof Ġthe ĠGNU ĠGeneral ĠPublic ĠLicense Ċ Ġ* Ġalong Ġwith Ġthis Ġprogram ; Ġif Ġnot , Ġwrite Ġto Ġthe ĠFree ĠSoftware Ċ Ġ* ĠFoundation , ĠInc ., Ġ 5 1 ĠFranklin ĠStreet , ĠFifth ĠFloor , ĠBoston ĠMA Ġ 0 2 1 1 0 - 1 3 0 1 , ĠUSA . Ċ Ġ* Ġ************************************************************************* * Ċ Ġ* Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġorg . vide ol an . tele vision . ui Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . lean back . graphics . Color Overlay Dim mer Ċ import Ġorg . vide ol an . tele vision . databinding . Tv Video Details Binding Ċ import Ġorg . vide ol an . tele vision . R Ċ Ċ class ĠVideo Details Presenter ( private Ġval Ġcontext : ĠContext , Ġprivate Ġval Ġscreen Width : ĠInt ) Ġ: Ġorg . vide ol an . tele vision . ui . Full Width Row Presenter () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠT v Video Details Binding ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Row ViewHolder ( parent : ĠViewGroup ): ĠVideo Details ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠData Binding Util . inflate ( LayoutInflater . from ( parent . context ), ĠR . layout . tv _ video _ details , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġbinding . container . min Width Ġ= Ġ( screen Width Ġ- Ġ( context . resources . get Dimension ( R . dim en . tv _ over scan _ horizontal ) Ġ* Ġ 2 )). toInt () ĊĊĠĠĠĠĠĠĠ Ġreturn ĠVideo Details ViewHolder ( binding . root ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind Row ViewHolder ( view Holder : ĠViewHolder , Ġitem : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Bind Row ViewHolder ( view Holder , Ġitem ) ĊĠĠĠĠĠĠĠ Ġval Ġv h Ġ= ĠviewHolder Ġas ĠVideo Details ViewHolder ĊĠĠĠĠĠĠĠ Ġval Ġmetadata Ġ= Ġ( item Ġas Ġorg . vide ol an . tele vision . ui . Video Details Overview Row ). item ĊĠĠĠĠĠĠĠ Ġbinding . item Ġ= Ġmetadata ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonSelect Level Changed ( holder : ĠViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġsuper . on Select Level Changed ( holder ) Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( select Effect Enabled ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġv h Ġ= Ġholder Ġas ĠVideo Details ViewHolder Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdim med Color Ġ= Ġv h . color Dim mer . paint . color Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ( vh . container . background . mutate () Ġas ĠColor Drawable ). color Ġ= Ġdim med Color Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠVideo Details ViewHolder ( view : ĠView ) Ġ: ĠViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcolor Dim mer Ġ= ĠColor Overlay Dim mer . create Default ( view . context ) ĊĠĠĠĠĠĠĠ Ġval Ġcontainer Ġ= Ġview . findViewById < Constraint Layout >( R . id . container ) ĊĠĠĠ Ġ} Ċ }