package Ġcom . example . j asy . helpers . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . j asy . model . Ap od Model Ċ import Ġcom . example . j asy . R Ċ import Ġcom . google . android . material . card . Material Card View Ċ import Ġcom . squareup . pic asso . Pic asso Ċ Ċ class ĠAp od ListAdapter ( private Ġval Ġlist : ĠList < Ap od Model >, Ġprivate Ġval ĠonClick Listener Callback : Ġ( Ap od Model ) Ġ-> ĠUnit ): ĠRecyclerView . Adapter < Ap od ListAdapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . layout _ adapter _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( v ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġap od Ġ= Ġlist [ position ] ĊĠĠĠĠĠĠĠ Ġholder . title . text Ġ= Ġap od . title ĊĠĠĠĠĠĠĠ Ġholder . date . text Ġ= Ġap od . date ĊĊĠĠĠĠĠĠĠ Ġif Ġ( ap od . media _ type Ġ== Ġ" image ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . get (). load ( ap od . url ). into ( holder . imageView ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . imageView . setImage Resource ( R . drawable . ic _ video _ foreground ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . imageView . adjust View Bounds Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . card View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Model Ġ= Ġlist [ position ] ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Listener Callback ( current Model ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠimageView : ĠImageView Ġ= ĠitemView . findViewById ( R . id . ap od ImageView ) ĊĠĠĠĠĠĠĠ Ġval Ġtitle : ĠTextView Ġ= ĠitemView . findViewById ( R . id . ap od TextView ) ĊĠĠĠĠĠĠĠ Ġval Ġdate : ĠTextView Ġ= ĠitemView . findViewById ( R . id . ap od TextView Date ) ĊĠĠĠĠĠĠĠ Ġval Ġcard View : ĠMaterial Card View Ġ= ĠitemView . findViewById ( R . id . ap od Card View ) ĊĠĠĠ Ġ} Ċ }