package Ġcom . pe ter . let ss wt ich . map Ċ Ċ import Ġandroid . util . Log Ċ 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 . google . android . gms . maps . model . LatLng Ċ import Ġcom . pe ter . let ss wt ich . data . User Ċ import Ġcom . pe ter . let ss wt ich . databinding . Item Map Friend Images Binding ĊĊ Ċ class ĠF riends Image Adapter ( val ĠviewModel : ĠMap ViewModel ) Ġ: ĊĠĠĠ ĠList Adapter < User , ĠF riends Image Adapter . ViewHolder >( Diff Callback ) Ġ{ ĊĊĠĠĠ Ġclass ĠViewHolder ( private Ġvar Ġbinding : ĠItem Map Friend Images Binding ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( image : ĠUser ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . user Ġ= Ġimage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . execute Pending Bindings () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Map Friend Images Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), Ġparent , Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( getItem ( position )) ĊĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Mic ", Ġ" Ġthe Ġvalue Ġof ĠUse Ġ= Ġ${ getItem ( position ). latitude }") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . friends Location . value Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLat Lng ( getItem ( position ). latitude , ĠgetItem ( position ). lng ti ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . clicked User Detail . value Ġ= ĠgetItem ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . shows More . value Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . card View Height . value Ġ= Ġ 5 5 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject ĠDiff Callback Ġ: ĠDiff Util . Item Callback < User >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠUser , Ġnew Item : ĠUser ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġold Item Ġ=== Ġnew Item ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠUser , Ġnew Item : ĠUser ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġold Item Ġ== Ġnew Item ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }