package Ġcom . github . f 9 c . android . ui . chat Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . support . constraint . Constraint Layout Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġcom . github . f 9 c . android . R Ċ import Ġcom . github . f 9 c . android . message . Message Ċ import Ġjava . util .* Ċ Ċ class ĠMessages Adapter ( private Ġvar Ġ_ messages : ĠMutable List < Message >, Ġcontext : ĠContext ) Ġ: ĠRecyclerView . Adapter < Messages Adapter . ViewHolder >() Ġ{ ĊĠĠĠ Ġprivate Ġval Ġtime Format Ġ= Ġandroid . text . format . DateFormat . getTime Format ( context ) ĊĠĠĠ Ġprivate Ġval Ġcomplete Format Ġ= Ġandroid . text . format . DateFormat . get DateFormat ( context ) ĊĠĠĠ Ġprivate Ġval Ġtw enty Hours Ġ: ĠLong Ġ= Ġ 1 0 0 0 Ġ* Ġ 6 0 Ġ* Ġ 6 0 Ġ* Ġ 2 0 ĊĊĠĠĠ Ġclass ĠViewHolder ( val ĠtextView : ĠConstraint Layout ) Ġ: ĠRecyclerView . ViewHolder ( textView ) ĊĊĠĠĠ Ġvar Ġmessages : ĠMutable List < Message > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ messages ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ messages Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontact Layout Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . message , Ġparent , Ġfalse ) Ġas ĠConstraint Layout ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( contact Layout ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġmessages . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠtextView Ġ= Ġholder . textView . get ViewById ( R . id . message Text ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ Ġval Ġdate View Ġ= Ġholder . textView . get ViewById ( R . id . message Date ) Ġas ĠTextView ĊĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġmessages [ position ] ĊĊĠĠĠĠĠĠĠ ĠtextView . text Ġ= Ġmessage . text ĊĊĠĠĠĠĠĠĠ Ġval Ġage Ġ= ĠSystem . currentTimeMillis () Ġ- Ġmessage . timestamp ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate ( message . timestamp ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( age Ġ< Ġtw enty Hours ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate View . text Ġ= Ġtime Format . format ( date ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate View . text Ġ= ĠString . format ("% s Ġ% s ", Ġcomplete Format . format ( date ), Ġtime Format . format ( date )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( message . incoming ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . text Alignment Ġ= ĠTextView . TEXT _ ALIGNMENT _ VIEW _ START ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . text Alignment Ġ= ĠTextView . TEXT _ ALIGNMENT _ VIEW _ END ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }