package Ġcom . gro ve . crm . ui . map store Ċ Ċ 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 . gro ve . crm . R Ċ import Ġcom . gro ve . crm . data . model . Store Ċ import Ġkotlinx . android . extensions . Layout Container Ċ import Ġkotlinx . android . synt hetic . main . item _ store .* Ċ Ċ class ĠStore Adapter () Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < Store Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġinternal Ġvar Ġstores : ĠList < Store >? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġon Item Click : Ġ(( Store ) Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġclass ĠViewHolder ( override Ġval Ġcontainer View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( container View ), ĠLayout Container Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( store : ĠStore ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Store Name . text Ġ= Ġstore . store Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Store Address . text Ġ= Ġstore . address ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( container View . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( store . imageUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. center Crop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( iv Image ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠCreate Ġnew Ġviews Ġ( inv oked Ġby Ġthe Ġlayout Ġmanager ) ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( view Group : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġa Ġnew Ġview , Ġwhich Ġdefines Ġthe ĠUI Ġof Ġthe Ġlist Ġitem ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( view Group . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . item _ store , Ġview Group , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠReplace Ġthe Ġcontents Ġof Ġa Ġview Ġ( inv oked Ġby Ġthe Ġlayout Ġmanager ) ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( view Holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġelement Ġfrom Ġyour Ġdataset Ġat Ġthis Ġposition Ġand Ġreplace Ġthe ĊĠĠĠĠĠĠĠ Ġ// Ġcontents Ġof Ġthe Ġview Ġwith Ġthat Ġelement ĊĠĠĠĠĠĠĠ Ġstores ?. get ( position )?. also Ġ{ Ġstore Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . bind ( store ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . item View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Item Click ?. invoke ( store ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠReturn Ġthe Ġsize Ġof Ġyour Ġdataset Ġ( inv oked Ġby Ġthe Ġlayout Ġmanager ) ĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġstores ?. size Ġ?: Ġ 0 Ċ Ċ } Ċ