package Ġaz . movie . az _ movie . ui . fragment . tr ailer Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġaz . movie . az _ movie . databinding . Item Tr ailer Layout Binding Ċ import Ġaz . movie . az _ movie . extensions . setImage Url Ċ import Ġaz . movie . az _ movie . model . tr ailer DataModel . Tr ailer Ċ import Ġaz . movie . az _ movie . util . type aliases . Click Int CallBack Ċ Ċ class ĠTr ailer Adapter () Ġ: ĠRecyclerView . Adapter < Tr ailer Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġtr ailer Slides Ġ= Ġmutable ListOf < Tr ailer >() ĊĊĠĠĠ Ġvar Ġclick Int CallBack : ĠClick Int CallBack ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup Ġ, Ġview Type : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ ĠViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Tr ailer Layout Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ) Ġ, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent Ġ, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( ĊĠĠĠĠĠĠĠ Ġholder : ĠTr ailer Adapter . ViewHolder Ġ, ĊĠĠĠĠĠĠĠ Ġposition : ĠInt ĊĠĠĠ Ġ) Ġ= Ġholder . on Bind ( tr ailer Slides [ position ]) ĊĊĠĠĠ Ġinner Ġclass ĠViewHolder ( private Ġval Ġbinding : ĠItem Tr ailer Layout Binding ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Bind ( model : ĠTr ailer ) Ġ= Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Title . text Ġ= Ġmodel . title ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon . setImage Url ( model . cover ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Int CallBack ?. invoke ( model . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtr ailer Slides . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsetData ( trail ers : ĠList < Tr ailer >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . tr ailer Slides Ġ= Ġtrail ers . to Mutable List () ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} Ċ }