package Ġcom . dev v ail onge . flip . features . categories . images Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . dev v ail onge . flip . R Ċ import Ġcom . dev v ail onge . flip . features . categories . data . Category Image Ċ Ċ class ĠCategory Image ListAdapter ( ĊĠĠĠ Ġprivate Ġval Ġcategory Images : ĠList < Category Image >, ĊĠĠĠ Ġprivate Ġval Ġcallback : Ġ( String ) Ġ-> ĠUnit Ċ ) Ġ: ĠRecyclerView . Adapter < Category Image ListAdapter . Category ImageView Holder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠCategory ImageView Holder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlayout Inflater Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠ Ġval ĠitemView Ġ= Ġlayout Inflater . inflate ( R . layout . item _ category _ image , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠCategory ImageView Holder ( item View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠCategory ImageView Holder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġcategory Images [ position ] ĊĠĠĠĠĠĠĠ Ġholder . bind ( item , Ġcallback ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcategory Images . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠCategory ImageView Holder ( private Ġval Ġview : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar Ġc tn Image : ĠLinearLayout ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġimage Category : ĠImageView ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( data : ĠCategory Image , Ġcallback : Ġ( String ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc tn Image Ġ= Ġview . findViewById ( R . id . ct n Category Image Item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage Category Ġ= Ġview . findViewById ( R . id . img Category Image Item ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġc tn Image . set BackgroundColor ( ct n Image . context . getColor ( data . bg )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage Category . setImage Drawable ( image Category . context . get Drawable ( data . image )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġc tn Image . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . invoke ( data . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊĊ