package Ġchat . rocket . android . chat room . adapter Ċ Ċ import ĠDrawable Helper Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġchat . rocket . android . R Ċ import Ġchat . rocket . android . chat room . adapter . People Suggestions Adapter . People Suggestion ViewHolder Ċ import Ġchat . rocket . android . chat room . view model . suggestion . People Suggestion ViewModel Ċ import Ġchat . rocket . android . util . extensions . setVisible Ċ import Ġchat . rocket . android . widget . auto completion . model . Suggestion Model Ċ import Ġchat . rocket . android . widget . auto completion . ui . Base Suggestion ViewHolder Ċ import Ġchat . rocket . android . widget . auto completion . ui . Suggestions Adapter Ċ import Ġcom . facebook . draw ee . view . Simple Draw ee View Ċ Ċ class ĠPeople Suggestions Adapter ( context : ĠContext ) Ġ: ĠSuggest ions Adapter < People Suggestion ViewHolder >(" @ ") Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġall Description Ġ= Ġcontext . getString ( R . string . suggest _ all _ description ) ĊĠĠĠĠĠĠĠ Ġval Ġhere Description Ġ= Ġcontext . getString ( R . string . suggest _ here _ description ) ĊĠĠĠĠĠĠĠ Ġval Ġpinned List Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPeople Suggestion ViewModel ( image Uri Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" all ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= Ġ" all ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġall Description , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpinned Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch List Ġ= ĠlistOf (" all ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPeople Suggestion ViewModel ( image Uri Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" here ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= Ġ" here ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġhere Description , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpinned Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch List Ġ= ĠlistOf (" here ")) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġset Pin ned Suggestions ( pinned List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠPeople Suggestion ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . suggestion _ member _ item , Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠPeople Suggestion ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠPeople Suggestion ViewHolder ( view : ĠView ) Ġ: ĠBase Suggestion ViewHolder ( view ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbind ( item : ĠSuggest ion Model , Ġitem ClickListener : ĠSuggest ions Adapter . ItemClickListener ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġas ĠPeople Suggestion ViewModel ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( item View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġusername Ġ= ĠitemView . findViewById < TextView >( R . id . text _ username ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= ĠitemView . findViewById < TextView >( R . id . text _ name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġavatar Ġ= ĠitemView . findViewById < Simple Draw ee View >( R . id . image _ avatar ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstatus View Ġ= ĠitemView . findViewById < ImageView >( R . id . image _ status ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername . text Ġ= Ġitem . username ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . text Ġ= Ġitem . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item . image Uri ?. isEmpty () Ġ!= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġavatar . setVisible ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġavatar . setVisible ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġavatar . setImage URI ( item . image Uri ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= Ġitem . status ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( status Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstatus Drawable Ġ= ĠDrawable Helper . getUser Status Drawable ( status , ĠitemView . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus View . setImage Drawable ( status Drawable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus View . setVisible ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem ClickListener ?. onClick ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }