package Ġcom . t 3 ddy ss . clo ther . adapters Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . t 3 ddy ss . clo ther . R Ċ import Ġcom . t 3 ddy ss . clo ther . databinding . ListItem Chat Binding Ċ import Ġcom . t 3 ddy ss . clo ther . models . domain . Chat Ċ import Ġcom . t 3 ddy ss . clo ther . utilities . format Date Ċ Ċ class ĠCh ats Adapter ( ĊĠĠĠ Ġprivate Ġval Ġclick Listener : Ġ( Chat ) Ġ-> ĠUnit Ċ ) Ġ: ĠList Adapter < Chat , ĠCh ats Adapter . Chat ViewHolder >( Chat Diff Callback ()) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠChat ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠChat ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠListItem Chat Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġclick Listener ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠChat ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( getItem ( position )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠChat ViewHolder ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbinding : ĠListItem Chat Binding , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġclick Listener : Ġ( Chat ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Listener . invoke ( getItem ( absolute Adapter Position )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( chat : ĠChat ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Name . text Ġ= Ġchat . inter loc utor . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Time . text Ġ= Ġchat . last Message . createdAt . format Date () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( chat . last Message . is Incoming ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Message . text Ġ= Ġchat . last Message . body ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Message . text Ġ= Ġ"${ binding . root . context . getString ( R . string . you )} : Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ chat . last Message . body }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }