package Ġchat . rocket . android . layout helper . chat room . list Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġchat . rocket . android . R Ċ import Ġchat . rocket . android . helper . DateTime Ċ import Ġchat . rocket . android . widget . Rocket Chat Avatar Ċ import Ġchat . rocket . android . widget . helper . Avatar Helper Ċ import Ġchat . rocket . android . widgets . Rocket ChatMessage Attachments Layout Ċ import Ġchat . rocket . android . widget . message . Rocket ChatMessage Layout Ċ import Ġchat . rocket . android . widget . message . Rocket ChatMessage Urls Layout Ċ import Ġchat . rocket . core . models . Message Ċ import Ġkotlinx . android . synt hetic . main . day . view .* Ċ import Ġkotlinx . android . synt hetic . main . item _ room _ message . view .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠF ili pe Ġde ĠL ima ĠB rito Ġ( fil ipe delim ab rito @ gmail . com ) Ġon Ġ 9 / 2 2 / 1 7 . Ċ Ġ*/ Ċ class ĠRoom Messages Adapter ( private Ġvar ĠdataSet : ĠList < Message >, Ġprivate Ġval Ġhostname : ĠString , Ġprivate Ġval Ġcontext : ĠContext ) Ġ: ĠRecyclerView . Adapter < Room Messages Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . item _ room _ message , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= ĠdataSet [ position ] ĊĊĠĠĠĠĠĠĠ Ġholder . new Day . text Ġ= ĠDateTime . from Ep oc Ms ( message . timestamp , ĠDateTime . Format . DATE ) ĊĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= Ġmessage . user ĊĠĠĠĠĠĠĠ Ġif Ġ( user Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user . name . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . name . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . name . text Ġ= Ġmessage . user ?. name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġusername Ġ= Ġuser . username ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( username Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġplaceholder Drawable Ġ= ĠAvatar Helper . getText Drawable ( username , Ġholder . user Avatar . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . user Avatar . load Image ( Avatar Helper . get Uri ( hostname , Ġusername ), Ġplaceholder Drawable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . username . text Ġ= Ġcontext . getString ( R . string . username , Ġusername ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . user Avatar . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . username . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . message Body . setText ( message . message ) ĊĊĠĠĠĠĠĠĠ Ġval Ġweb Contents Ġ= Ġmessage . web Contents ĊĠĠĠĠĠĠĠ Ġif Ġ( web Contents Ġ== Ġnull Ġ|| Ġweb Contents . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . message Url . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . message Url . set Urls ( message . web Contents , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġattachments Ġ= Ġmessage . attachments ĊĠĠĠĠĠĠĠ Ġif Ġ( attachments Ġ== Ġnull Ġ|| Ġattachments . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . message Attachment . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġholder . message Attachment . set Absolute Url ( absolute Url ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġholder . message Attachment . set Attachments ( attachments , Ġtrue ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġholder . message Attachment . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= ĠdataSet . size ĊĊĠĠĠ Ġfun Ġadd DataSet ( data Set : ĠList < Message >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprevious DataSet Size Ġ= Ġthis . data Set . size ĊĠĠĠĠĠĠĠ Ġthis . data Set Ġ+= ĠdataSet ĊĠĠĠĠĠĠĠ Ġnotify Item Range Inserted ( previous DataSet Size , ĠdataSet . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnew Day : ĠTextView Ġ= ĠitemView . day ĊĠĠĠĠĠĠĠ Ġval Ġuser Avatar : ĠRocket Chat Avatar Ġ= ĠitemView . user Avatar ĊĠĠĠĠĠĠĠ Ġval Ġusername : ĠTextView Ġ= ĠitemView . username ĊĠĠĠĠĠĠĠ Ġval Ġname : ĠTextView Ġ= ĠitemView . name ĊĠĠĠĠĠĠĠ Ġval Ġmessage Body : ĠRocket ChatMessage Layout Ġ= ĠitemView . message Body ĊĠĠĠĠĠĠĠ Ġval Ġmessage Url : ĠRocket ChatMessage Urls Layout Ġ= ĠitemView . message Url ĊĠĠĠĠĠĠĠ Ġval Ġmessage Attachment : ĠRocket ChatMessage Attachments Layout Ġ= ĠitemView . message Attachment ĊĠĠĠ Ġ} Ċ }