package Ġcom . k rm . t mdb . ui . adapters . adapter images Ċ Ċ 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 . Objects Details Images Ċ import Ġcom . p aw eg io . k android . inflate Layout Ċ import Ġkotlinx . android . synt hetic . main . item _ adapter _ poster . view .* Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠRe cycler Adapter Images Ġ@ Inject Ġconstructor ( private Ġvar Ġcontext : ĠContext ) Ġ: ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġview Type Images Ġ= Ġ 1 ĊĠĠĠ Ġprivate Ġval Ġview Type Images Person Ġ= Ġ 2 ĊĠĠĠ Ġprivate Ġvar Ġview Type : Int Ġ= Ġ 1 ĊĊĠĠĠ Ġprivate Ġvar Ġlist : ĠMutable List < Objects Details Images > Ġ= Ġmutable ListOf () ĊĠĠĠ Ġprivate Ġvar Ġon Item Image ClickListener : ĠOn Item Image ClickListener ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn Ġwhen ( view Type ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Type Images Person Ġ-> ĠViewHolder Images Person ( context . inflate Layout ( R . layout . item _ adapter _ poster , parent , false )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠViewHolder Images ( context . inflate Layout ( R . layout . item _ images , parent , false )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġlist . size ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen ( view Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġview Type Images Person ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġview Type Images ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Type ( type : Int ){ ĊĠĠĠĠĠĠĠ Ġthis . view Type Ġ= Ġtype ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Item ( item : ĠObjects Details Images ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlist . add ( item ) ĊĊĠĠĠĠĠĠĠ Ġnotify Item Inserted ( item Count ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear List () Ġ{ ĊĠĠĠĠĠĠĠ Ġlist . clear () ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġlist [ position ] ĊĠĠĠĠĠĠĠ Ġwhen ( holder . item ViewType ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Type Images -> Ġ( holder Ġas ĠViewHolder Images ). bind ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Type Images Person ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( holder Ġas ĠViewHolder Images Person ). bind ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . click _ adapter _ horizontal . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Item Image ClickListener !!. on Item Image Clicked ( data . file _ path , holder . item View . img _ poster ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn Item Image ClickListener { ĊĠĠĠĠĠĠĠ Ġfun Ġon Item Image Clicked ( file _ path : String , v : View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset On Item Image ClickListener ( on Item Image ClickListener : ĠOn Item Image ClickListener ){ ĊĠĠĠĠĠĠĠ Ġthis . on Item Image ClickListener Ġ= Ġon Item Image ClickListener ĊĠĠĠ Ġ} Ċ Ċ }