package Ġcom . example . chat . adapters Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . Diff Util .* Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġcom . example . chat . db . Chat Ċ import Ġcom . example . chat . view holders . Chat ViewHolder Ċ import Ġcom . example . chat . R Ċ Ċ class ĠChat Adapter () Ġ: ĠList Adapter < Chat , ĠChat ViewHolder >( ĊĠĠĠ Ġobject : ĠItem Callback < Chat >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠChat , Ġnew Item : ĠChat ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġold Item . chat Id Ġ== Ġnew Item . chat Id ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠChat , Ġnew Item : ĠChat ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġold Item Ġ== Ġnew Item ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ ) Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠChat ViewHolder Ġ{ ĊĠĠĠĠĠĠ Ġval Ġitem Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . item _ chat , parent , false ) ĊĠĠĠĠĠĠĠ Ġreturn ĠChat ViewHolder ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠChat ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= ĠgetItem ( position ) ĊĠĠĠĠĠĠĠ Ġholder . name . text Ġ= Ġitem . userName ĊĠĠĠĠĠĠĠ Ġholder . message . text Ġ= Ġitem . message ĊĠĠĠ Ġ} ĊĊ Ċ }