package Ġcom . sp un dev . app plugin . consumer . ui . provider Details Ċ Ċ import Ġandroid . content . Context Ċ 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 Ġcom . sp un dev . app plugin . consumer . databinding . Rv Provider Details Item Binding Ċ import Ġcom . sp un dev . app plugin . consumer . model . Pet Data ĊĊ Ċ class ĠProvider Details Adapter Ġinternal Ġconstructor ( ĊĠĠĠ Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġval Ġonclick : Ġ( item : ĠPet Data ) Ġ-> ĠUnit Ċ Ċ ) Ġ: ĠList Adapter < Pet Data , ĠProvider Details Adapter . Content ViewHolder >( object Ġ: ĊĠĠĠ ĠDiff Util . Item Callback < Pet Data >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠPet Data , Ġnew Item : ĠPet Data ) Ġ= ĊĠĠĠĠĠĠĠ Ġold Item Ġ== Ġnew Item ĊĊĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠPet Data , Ġnew Item : ĠPet Data ) Ġ= ĊĠĠĠĠĠĠĠ Ġold Item Ġ== Ġnew Item Ċ }) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġinflater : ĠLayoutInflater Ġ= ĠLayoutInflater . from ( context ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠContent ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding : ĠR v Provider Details Item Binding Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR v Provider Details Item Binding . inflate ( in flater , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠContent ViewHolder ( binding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠContent ViewHolder , Ġposition : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ Ġholder . bind To ( getItem ( position )) ĊĊĠĠĠ Ġinner Ġclass ĠContent ViewHolder ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbinding : ĠR v Provider Details Item Binding ĊĠĠĠ Ġ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind To ( item : ĠPet Data ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . provider Pet Name Text . text Ġ= Ġitem . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . provider Pet Description Text . text Ġ= Ġitem . description ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener Ġ{ Ġonclick ( item ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . provider Pet Name Text . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . provider Pet Description Text . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener ( null ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }