package Ġcom . quick blo x . sample . conference . kotlin . presentation . screens . create chat . new chat Ċ Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . quick blo x . sample . conference . kotlin . R Ċ import Ġcom . quick blo x . sample . conference . kotlin . databinding . Item User Binding Ċ import Ġcom . quick blo x . sample . conference . kotlin . databinding . Item User Search Binding Ċ import Ġcom . quick blo x . sample . conference . kotlin . presentation . utils . Avatar Utils Ċ import Ġcom . quick blo x . users . model . QB User Ċ import Ġjava . util .* Ċ Ċ /* Ċ Ġ* ĠCreated Ġby ĠIn jo it Ġin Ġ 2 0 2 1 - 0 9 - 3 0 . Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 2 1 ĠQuick blo x . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ class ĠUser Search ViewHolder ( private Ġval Ġbinding : ĠItem User Search Binding , Ġvar Ġitem ClickListener : ĠItem ClickListener ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠ Ġvar Ġselected Ġ= Ġfalse ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( parent : ĠViewGroup , Ġitem ClickListener : ĠItem ClickListener ): ĠUser Search ViewHolder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠUser Search ViewHolder ( Item User Search Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse ), Ġitem ClickListener ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbind ( qb User : ĠQ B User , Ġselected : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . selected Ġ= Ġselected ĊĠĠĠĠĠĠĠ Ġfill Avatar ( qb User ) ĊĠĠĠĠĠĠĠ Ġbinding . tv Name . text Ġ= Ġif Ġ( TextUtils . isEmpty ( qb User . fullName )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġq b User . login ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġq b User . fullName ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( this . selected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . checkbox . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . set BackgroundColor ( Context Compat . getColor ( binding . root . context , ĠR . color . selected Item Dialog )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . checkbox . isChecked Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . set BackgroundColor ( Context Compat . getColor ( binding . root . context , Ġandroid . R . color . transparent )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this . selected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . set BackgroundColor ( Context Compat . getColor ( binding . root . context , Ġandroid . R . color . transparent )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . checkbox . isChecked Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . set BackgroundColor ( Context Compat . getColor ( binding . root . context , ĠR . color . selected Item Dialog )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . checkbox . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . selected Ġ= Ġ! this . selected ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem ClickListener . on Select ( qb User ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfill Avatar ( qb User : ĠQ B User ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . tv Avatar . text Ġ= Ġq b User . fullName . replace (" Ġ", Ġ""). substring ( 0 , Ġ 1 ). toUpperCase ( Locale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġbinding . iv Avatar . setImage Drawable ( Avatar Utils . get Drawable Avatar ( binding . root . context , Ġq b User . id . hashCode ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠItem ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonSelect ( user : ĠQ B User ) ĊĠĠĠ Ġ} Ċ }