package Ġs asl ider demo . sal ma an . ah ms al . com . flag chat adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . support . v 4 . content . Context Compat Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Toast Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġsal ma an ah med Ġon Ġ 0 4 / 0 9 / 2 0 1 8 . Ċ Ġ* ĠChat ĠAdapter Ġextended Ġby ĠFlag Chat Adapter Ċ Ġ*/ Ċ class ĠChat Adapter ( context : ĠContext , Ġprivate Ġvar Ġlist : ĠArrayList < Any >) Ġ: ĠFlag Chat Adapter ( context ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠName Ġof Ġthe Ġperson Ġuser Ġis Ġchat ting Ġwith ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġval Ġother Name : ĠString Ġget () Ġ= Ġ" John " ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSize Ġof Ġlist Ġi . e . Ġnumber Ġof Ġmessages ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġval Ġlist Size : ĠInt Ġget () Ġ= Ġlist . size ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMessage Ġon Ġthis Ġindex ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġchat Message ( position : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( list [ position ] Ġas ĠChat Model ). message ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMessage Ġtime Ġon Ġthis Ġindex ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġmessage Time ( position : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( list [ position ] Ġas ĠChat Model ). time ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMessage Ġsender Ġon Ġthis Ġindex ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġis Me ( position : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( list [ position ] Ġas ĠChat Model ). is Me ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAnimation Ġon Ġthis Ġindex ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġanimation ( position : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( list [ position ] Ġas ĠChat Model ). animate ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġanimation Ġstatus Ġon Ġthis Ġindex ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġset Animation Status ( position : ĠInt , Ġanimation Status : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ( list [ position ] Ġas ĠChat Model ). animate Ġ= Ġanimation Status ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠObject Ġtype Ġon Ġthis Ġindex ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġis Chat Model ( position : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist [ position ] Ġis ĠChat Model ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDate Ġstring Ġon Ġthis Ġindex ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġdate ( position : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġlist [ position ] Ġas ĠCalendar ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . is Today () Ġ-> Ġ" Today " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . is Y esterday () Ġ-> Ġ" Y esterday " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġitem . toDate Long () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠB ubble Ġcolor Ġof Ġother Ġperson ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġcolor Other ( context : ĠContext ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠContext Compat . getColor ( context , ĠR . color . red ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠB ubble Ġcolor Ġof Ġuser ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġcolor Me ( context : ĠContext ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠContext Compat . getColor ( context , ĠR . color . cyan ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠHandle Ġlong Ġclick Ġevent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Message Long Clicked ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Long Ġclicked Ġon Ġposition Ġ$ position ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIf Ġyou Ġwant Ġto Ġchange Ġshow Ġtime Ġlogic , Ġyou Ġcan Ġoverride Ġthis Ġmethod . ĊĠĠĠĠ Ġ* ĠI Ġprefer Ġthe Ġlogic Ġcurrently Ġimplemented Ġin Ġadapter ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġshow Time ( position : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . show Time ( position ) ĊĠĠĠ Ġ} Ċ Ċ }