package Ġcom . stem labs . ell u . ui . component . chat . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Port er D uff Ċ import Ġandroid . graphics . Type face Ċ import Ġandroid . text . Sp ann able String Ċ import Ġandroid . text . style . Style Span Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . stem labs . ell u . R Ċ import Ġcom . stem labs . ell u . data . Repo Model Ċ import Ġcom . stem labs . ell u . data . model . Individual Chat Model Ċ import Ġcom . stem labs . ell u . utils . make G one Ċ import Ġcom . stem labs . ell u . utils . make Visible Ċ import Ġkotlinx . android . synt hetic . main . list row _ in vid iv idual _ chat . view .* Ċ Ċ class ĠIndividual Chat Adapter ( var Ġarray List : ĠMutable List < Individual Chat Model >) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . Adapter < Individual Chat Adapter . Individual Chat ViewHolder >() Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġcontext : ĠContext ĊĠĠĠ Ġlateinit Ġvar Ġlistener : ĠOn Chat Select ĊĠĠĠ Ġlateinit Ġvar Ġrepo Model : ĠRepo Model ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠIndividual Chat ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext Ġ= Ġparent . context ĊĠĠĠĠĠĠĠ Ġrepo Model Ġ= ĠRepo Model ( context ) ĊĠĠĠĠĠĠĠ Ġreturn ĠIndividual Chat ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( context ). inflate ( R . layout . list row _ in vid iv idual _ chat , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġarray List . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠIndividual Chat ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( array List . get ( position ). message Type . equals (" prox imity ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Send . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Receiver . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Prox imity View . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Map . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstyled String Ġ= ĠSp ann able String ( array List . get ( position ). message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġusername Ġ=" A neg lin a " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyled String . set Span ( Style Span ( Type face . BOLD ), Ġ 0 , username . length Ġ, Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyled String . set Span ( Style Span ( Type face . NORMAL ), Ġusername . length + 1 , Ġarray List . get ( position ). message . length , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Prox imity Message . text Ġ= Ġstyled String ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Accept Prox imity . setOnClickListener ( View . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . get Chat At ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ} else Ġif Ġ( array List . get ( position ). message Type . equals (" sos ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Send . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Receiver . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Prox imity View . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Prox imity View . background Ġ= ĠContext Compat . get Drawable ( context !! , ĠR . drawable . curve _ sos _ gradient ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Map . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstyled String Ġ= ĠSp ann able String ( array List . get ( position ). message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġusername Ġ=" Adam ĠSmith " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyled String . set Span ( Style Span ( Type face . BOLD ), Ġ 0 , username . length Ġ, Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyled String . set Span ( Style Span ( Type face . NORMAL ), Ġusername . length + 1 , Ġarray List . get ( position ). message . length , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Prox imity Message . text Ġ= Ġstyled String ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Accept Prox imity . setOnClickListener ( View . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . get Chat At ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ} else Ġif Ġ( array List . get ( position ). message Type . equals (" contact ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Contact . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Send . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Receiver . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Prox imity View . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Map . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Add Contact . setOnClickListener ( View . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . get Chat At ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( array List . get ( position ). message Type . equals (" aware ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Contact . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Send . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Receiver . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Prox imity View . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Map . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . background Ġ= ĠContext Compat . get Drawable ( context !! , ĠR . drawable . aware _ chat _ bg ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Aware Me et Title . setText ( array List . get ( position ). message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Aware Me et Icon . setImage Resource ( R . drawable . ic _ cup _ white ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Aware Me et Icon . setColor Filter ( Context Compat . getColor ( context , ĠR . color . color White ), ĠPort er D uff . Mode . SRC _ IN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . setOnClickListener ( View . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . get Chat At ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( array List . get ( position ). message Type . equals (" pager ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Send . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Contact . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Receiver . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Prox imity View . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Map . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . background Ġ= ĠContext Compat . get Drawable ( context !! , ĠR . drawable . pager _ chat _ bg ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Aware Me et Title . setText ( array List . get ( position ). message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Aware Me et Icon . setImage Resource ( R . drawable . ic _ notification _ blue _ contact ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Aware Me et Icon . setColor Filter ( Context Compat . getColor ( context , ĠR . color . color White ), ĠPort er D uff . Mode . SRC _ IN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . setOnClickListener ( View . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . get Chat At ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( array List . get ( position ). message Type . equals (" Prox imity Header ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Send . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Contact . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Receiver . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Prox imity View . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Map . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . background Ġ= ĠContext Compat . get Drawable ( context !! , ĠR . drawable . curve _ prox imity _ header _ chat _ gradient ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Aware Me et Title . setText ( array List . get ( position ). message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Aware Me et Icon . setImage Resource ( R . drawable . ic _ prox imity _ white ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . setOnClickListener ( View . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . get Chat At ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( array List . get ( position ). message Type . equals (" location ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Send . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Contact . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Receiver . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Receiver . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Map . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . background Ġ= ĠContext Compat . get Drawable ( context !! , ĠR . drawable . location _ chat _ bg ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Aware Me et Title . setText ( array List . get ( position ). message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Aware Me et Icon . setImage Resource ( R . drawable . ic _ location ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Aware Me et Icon . setColor Filter ( Context Compat . getColor ( context , ĠR . color . color White ), ĠPort er D uff . Mode . SRC _ IN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . setOnClickListener ( View . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . get Chat At ( position ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( array List . get ( position ). message Type . equals (" meet ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Send . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Receiver . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Contact . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Receiver . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Map . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . background Ġ= ĠContext Compat . get Drawable ( context !! , ĠR . drawable . meet _ chat _ bg ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Aware Me et Title . setText ( array List . get ( position ). message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Aware Me et Icon . setImage Resource ( R . drawable . ic _ cup _ white ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Aware Me et Icon . setColor Filter ( Context Compat . getColor ( context , ĠR . color . color White ), ĠPort er D uff . Mode . SRC _ IN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . setOnClickListener ( View . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . get Chat At ( position ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Prox imity View . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Aware Me et View . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Contact . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Map . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( array List . get ( position ). user Type . equals (" customer ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Receiver . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Send . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* holder . tv UserName Receive . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepo Model . app Preference . first _ name Ġ+ Ġ" Ġ" Ġ+ Ġrepo Model . app Preference . last _ name */ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// holder . tv Time Receive . text Ġ= ĠGlobal Methods . getDate Ago ( array List . get ( position ). createdAt ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Time Receive . text Ġ= Ġarray List . get ( position ). created Time ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* G lide . with ( context ). load ( repo Model . app Preference . profile _ photo ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . placeholder ). into ( holder . img Profile Receive ) */ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// holder . img Profile Receive . setImage Resource ( R . drawable . ic _ user ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( array List . get ( position ). message Type . equals (" audio ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Chat Receive . make G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Message Receive . make G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Time Receive . make G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Audio Receive . make Visible () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( array List . get ( position ). message Type . equals (" ima get ext ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Chat Receive . make Visible () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Audio Receive . make G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Chat Receive . setImage Resource ( R . drawable . j azz ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Message Receive . make Visible () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Message Receive . text Ġ= Ġarray List . get ( position ). message ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Chat Receive . make G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Audio Receive . make G one () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Receiver . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl Send . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// holder . tv UserName Send . text Ġ= Ġ" Ed uc ator " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// holder . tv Time Send . text Ġ= ĠGlobal Methods . getDate Ago ( array List . get ( position ). createdAt ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Time Send . text Ġ= Ġarray List . get ( position ). created Time ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġholder . img Profile Send . setImage Resource ( R . drawable . placeholder ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( array List . get ( position ). message Type . equals (" audio ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Message Send . make G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Audio Send . make Visible () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Chat Send . make G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( array List . get ( position ). message Type . equals (" ima get ext ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Chat Send . make Visible () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Audio Send . make G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Chat Send . setImage Resource ( R . drawable . j azz ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Message Send . make Visible () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Message Send . text Ġ= Ġarray List . get ( position ). message ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Chat Send . make G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Audio Send . make G one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . setOn Long ClickListener ( View . On Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . get Chat At ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Chat Listener ( listener : ĠOn Chat Select ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . listener Ġ= Ġlistener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate List ( chat List : ĠMutable List < Individual Chat Model >) Ġ{ ĊĠĠĠĠĠĠĠ Ġarray List . clear () ĊĠĠĠĠĠĠĠ Ġarray List . addAll ( chat List ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠIndividual Chat ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġrl Receiver Ġ= ĠitemView . rl Receiver !! ĊĠĠĠĠĠĠĠ Ġvar Ġtv Message Receive Ġ= ĠitemView . tv Message Receive !! ĊĠĠĠĠĠĠĠ Ġvar Ġimg Profile Receive Ġ= ĠitemView . img Profile Receive !! ĊĠĠĠĠĠĠĠ Ġvar Ġtv UserName Receive Ġ= ĠitemView . tv UserName Receive !! ĊĠĠĠĠĠĠĠ Ġvar Ġtv Time Receive Ġ= ĠitemView . tv Time Receive !! ĊĠĠĠĠĠĠĠ Ġvar Ġtv Time Receive Audio Ġ= ĠitemView . tv Time Receive Audio !! ĊĠĠĠĠĠĠĠ Ġvar Ġrl Send Ġ= ĠitemView . rl Send !! ĊĠĠĠĠĠĠĠ Ġvar Ġtv Message Send Ġ= ĠitemView . tv Message Send !! ĊĠĠĠĠĠĠĠ Ġvar Ġtv UserName Send Ġ= ĠitemView . tv UserName Send !! ĊĠĠĠĠĠĠĠ Ġvar Ġtv Time Send Ġ= ĠitemView . tv Time Send !! ĊĠĠĠĠĠĠĠ Ġvar Ġimg Chat Receive Ġ= ĠitemView . img Chat Receive !! ĊĠĠĠĠĠĠĠ Ġvar Ġimg Chat Send Ġ= ĠitemView . img Chat Send !! ĊĠĠĠĠĠĠĠ Ġvar Ġll Audio Send Ġ= ĠitemView . ll Audio Send !! ĊĠĠĠĠĠĠĠ Ġvar Ġll Audio Receive Ġ= ĠitemView . ll Audio Receive !! ĊĠĠĠĠĠĠĠ Ġvar Ġimg Play Send Ġ= ĠitemView . img Play Send !! ĊĠĠĠĠĠĠĠ Ġvar Ġimg Play Receive Ġ= ĠitemView . img Play Receive !! ĊĠĠĠĠĠĠĠ Ġvar Ġll Prox imity View Ġ= ĠitemView . ll Prox imity View !! ĊĠĠĠĠĠĠĠ Ġvar Ġll Aware Me et View Ġ= ĠitemView . ll Aware Me et View !! ĊĠĠĠĠĠĠĠ Ġvar Ġtv Add Contact Ġ= ĠitemView . tv Add Contact !! ĊĠĠĠĠĠĠĠ Ġvar Ġimg Aware Me et Icon Ġ= ĠitemView . img Aware Me et Icon !! ĊĠĠĠĠĠĠĠ Ġvar Ġtv Aware Me et Title Ġ= ĠitemView . tv Aware Me et Title !! ĊĠĠĠĠĠĠĠ Ġvar Ġtv Accept Prox imity Ġ= ĠitemView . tv Accept Prox imity !! ĊĠĠĠĠĠĠĠ Ġvar Ġtv Prox imity Message Ġ= ĠitemView . tv Prox imity Message !! ĊĠĠĠĠĠĠĠ Ġvar Ġimg Map Ġ= ĠitemView . img Map !! ĊĠĠĠĠĠĠĠ Ġvar Ġll Contact Ġ= ĠitemView . ll Contact !! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġinterface ĠOn Chat Select Ġ{ ĊĠĠĠĠĠĠĠ Ġpublic Ġfun Ġget Chat At ( position : ĠInt ) ĊĠĠĠ Ġ} Ċ }