package Ġcom . k project . simple chat . utils Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Configuration Ċ import Ġandroid . widget . Toast Ċ import Ġcom . google . firebase . auth . Firebase Auth Ċ import Ġcom . k project . simple chat . Build Config Ċ import Ġjava . io . FileInputStream Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ object ĠUtils Ġ{ ĊĊĠĠĠ Ġfun Ġshow Toast ( context : ĠContext , Ġstring Res Id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġstring Res Id , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Toast ( context : ĠContext , Ġtext : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġtext , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Chat Room Id ( sender Id : ĠString , Ġreceiver Id : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( sender Id . compareTo ( receiver Id ) Ġ<= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreceiver Id Ġ+ Ġsender Id ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsender Id Ġ+ Ġreceiver Id ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetCurrent UserId (): ĠString Ġ= ĠFirebase Auth . getInstance (). currentUser ?. uid !! ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġthe Ġcurrent Ġformatted Ġdate . ĠIf Ġthe Ġdate Ġreturned Ġby ĠFirebase Ġis Ġnull , Ġit Ġreturns ĊĠĠĠĠ Ġ* Ġthe Ġcurrent Ġlocal Ġdate . ĠThere Ġmay Ġbe Ġa Ġdifference Ġbetween Ġthe Ġdate Ġshown Ġinitially Ġwhen ĊĠĠĠĠ Ġ* Ġsending Ġa Ġmessage Ġand Ġthe Ġdate Ġreturned Ġby ĠFirebase , Ġas Ġthe Ġtimestamp Ġis Ġmarked Ġas ĊĠĠĠĠ Ġ* Ġ@ Server Timestamp Ġand Ġwill Ġbe Ġrecorded Ġby Ġthe Ġdate Ġof Ġthe ĠFirebase Ġserver . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Formatted Date ( date : ĠDate ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Date Ġ= Ġdate Ġ?: ĠCalendar . getInstance (). time ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Local Day Ġ= ĠSimpleDateFormat (" dd / MM / yyyy ", ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. format ( Calendar . getInstance (). time ) ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Timestamp Day Ġ= ĠSimpleDateFormat (" dd / MM / yyyy ", ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. format ( current Date ) ĊĠĠĠĠĠĠĠ Ġval ĠdateFormat Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current Local Day Ġ== Ġcurrent Timestamp Day ) Ġ" HH : mm " Ġelse Ġ" HH : mm Ġ( dd / MM / yyyy )" ĊĠĠĠĠĠĠĠ Ġreturn ĠSimpleDateFormat ( date Format , ĠLocale . getDefault ()). format ( current Date ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetCurrent System Theme ( context : ĠContext ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( context . resources . configuration . ui Mode Ġand ĠConfiguration . UI _ MODE _ N IGHT _ MASK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfiguration . UI _ MODE _ N IGHT _ NO Ġ-> ĠP refs Constants . THEME _ LIGHT ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfiguration . UI _ MODE _ N IGHT _ YES Ġ-> ĠP refs Constants . THEME _ DARK ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠP refs Constants . THEME _ LIGHT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }