package Ġnl . mk . venue helper . ui . list Ċ Ċ 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 Ġnl . mk . venue helper . database . models . Venue Db Ċ import Ġnl . mk . venue helper . databinding . ListItem Venue Binding Ċ Ċ class ĠV en ues Adapter ( ĊĠĠĠ Ġprivate Ġval Ġon Item Clicked : Ġ( Int ) Ġ-> ĠUnit Ċ ) Ġ: ĠList Adapter < Venue Db , ĠV en ues Adapter . Venue Item ViewHolder >( Venue Db Diff Callback ()) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠV en ue Item ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠListItem Venue Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), Ġparent , Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn ĠV en ue Item ViewHolder ( binding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠV en ue Item ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= ĠgetItem ( position ) ĊĠĠĠĠĠĠĠ Ġholder . bind ( item , Ġon Item Clicked ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠV en ue Item ViewHolder ( private Ġval Ġbinding : ĠListItem Venue Binding ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( model : ĠV en ue Db , Ġon Item Clicked : Ġ( Int ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . venue Ġ= Ġmodel ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Item Clicked ( adapter Position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . execute Pending Bindings () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ private Ġclass ĠV en ue Db Diff Callback Ġ: ĠDiff Util . Item Callback < Venue Db >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠV en ue Db , Ġnew Item : ĠV en ue Db ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġold Item . venue Id Ġ== Ġnew Item . venue Id ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠV en ue Db , Ġnew Item : ĠV en ue Db ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġold Item Ġ== Ġnew Item ĊĠĠĠ Ġ} Ċ }