package Ġtech . med ina . ad ich allenge . ui . review . list . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġtech . med ina . ad ich allenge . databinding . Item Review Binding Ċ import Ġtech . med ina . ad ich allenge . domain . models . Review Ċ Ċ class ĠReview ListAdapter : ĠList Adapter < Review , ĠReview ListAdapter . ViewHolder >( Review Diff Callback ()) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠItem Review Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder . create ( binding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( getItem ( position )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠViewHolder ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbinding : ĠItem Review Binding ĊĠĠĠ Ġ): ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcontext Ġ= Ġbinding . root . context ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( data : ĠReview ) Ġ= Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaverage . text Ġ= Ġdata . rating . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstars . progress Ġ= Ġdata . rating ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessage . text Ġ= Ġdata . text ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding : ĠItem Review Binding ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ): ĠViewHolder Ġ= ĠViewHolder ( binding ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }