package Ġcom . k rm . t mdb . ui . adapters Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . k rm . t mdb . R Ċ import Ġcom . k rm . t mdb . data . model . Object Details Trail ers Ċ import Ġcom . k rm . t mdb . utils . Const Strings Ċ import Ġcom . k rm . t mdb . utils . Const Fun . setImage Url Ċ import Ġcom . p aw eg io . k android . inflate Layout Ċ import Ġkotlinx . android . synt hetic . main . item _ trail ers . view .* Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠRe cycler Adapter Trail ers Ġ@ Inject Ġconstructor ( private Ġvar Ġcontext : ĠContext ) Ġ: ĠRecyclerView . Adapter < Recycler Adapter Trail ers . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġlist : ĠMutable List < Object Details Trail ers > Ġ= Ġmutable ListOf () ĊĠĠĠ Ġprivate Ġvar Ġon Item Trail ers ClickListener : ĠOn Item Trail ers ClickListener ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewHolder ( context . inflate Layout ( R . layout . item _ trail ers , Ġparent , Ġfalse )) ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġlist . size ĊĊĠĠĠ Ġfun Ġadd Item ( item : ĠObject Details Trail ers ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlist . add ( item ) ĊĠĠĠĠĠĠĠ Ġnotify Item Inserted ( item Count ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear List () Ġ{ ĊĠĠĠĠĠĠĠ Ġlist . clear () ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( list [ position ]) ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġlist [ position ] ĊĠĠĠĠĠĠĠ Ġholder . item View . click _ trail ers . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Item Trail ers ClickListener !!. on Item Trail ers Clicked ( data . key ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( item : ĠObject Details Trail ers ) Ġ= Ġwith ( item View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtxt _ size _ trail ers . text Ġ= Ġitem . size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimg _ tr ailer . setImage Url ("${ Const Strings . BASE _ URL _ IMAGE _ Y OUT UBE }${ item . key }${ Const Strings . SIZE _ IMG _ Y OUT UBE }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn Item Trail ers ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Item Trail ers Clicked ( key _ video : ĠString ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset On Item Cast ClickListener ( on Item Trail ers ClickListener : ĠOn Item Trail ers ClickListener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . on Item Trail ers ClickListener Ġ= Ġon Item Trail ers ClickListener ĊĠĠĠ Ġ} Ċ }