package Ġcom . t app . ap od _ app . ui . ap od List Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . t app . ap od _ app . R Ċ import Ġcom . t app . ap od _ app . repository . model . Ap od Ċ import Ġkotlinx . android . synt hetic . main . item _ list . view .* Ċ Ċ class ĠAp od ListAdapter ( private Ġval Ġap od ListItem Delegate : ĠAp od ListItem Delegate ) Ġ: ĠRecyclerView . Adapter < Ap od ListAdapter . Ap od List Holder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġap od List Ġ= Ġmutable ListOf < Ap od >() ĊĊĠĠĠ Ġclass ĠAp od List Holder ( v : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( v ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġap od : ĠAp od ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . tag Ġ= Ġfield ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( item View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( it . url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRequest Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . ic _ launcher _ background ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( item View . image Card View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Ap ods ( apods : ĠList < Ap od >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . ap od List . clear () ĊĠĠĠĠĠĠĠ Ġthis . ap od List . addAll ( apods ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠAp od List Holder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview = ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . item _ list , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠAp od List Holder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠAp od List Holder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġap od List [ position ]. let Ġ{ Ġap od Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ap od Ġ= Ġap od ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener Ġ{ ap od ListItem Delegate . on Item Click ( ap od )} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġap od List . size ĊĠĠĠ Ġ} Ċ }