/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 . ĠProperty Ġof ĠD enn is ĠK w ab ena ĠB il son . ĠNo Ġun authorized Ġduplication Ġof Ġthis Ġmaterial Ġshould Ġbe Ġmade Ġwithout Ġprior Ġpermission Ġfrom Ġthe Ġdeveloper Ċ Ġ*/ Ċ Ċ package Ġio . per gas us . data Ċ Ċ import Ġandroid . os . Parcel Ċ import Ġandroid . os . Parcelable Ċ import Ġcom . google . firebase . firestore . Server Timestamp Ċ import Ġjava . util .* Ċ Ċ /** ĠNotifications Ġmodel Ġfor ĠThe ĠP ho enix Ġ*/ Ċ class ĠP ho enix Notification Ġ: ĠParcel able Ġ{ ĊĠĠĠ Ġvar Ġtitle : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġmessage : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġfrom : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġto : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġimage : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġ@ Server Timestamp ĊĠĠĠ Ġvar Ġtimestamp : ĠDate ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( parcel : ĠParcel ) Ġ: Ġthis () Ġ{ ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġparcel . readString () ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġparcel . readString () ĊĠĠĠĠĠĠĠ Ġfrom Ġ= Ġparcel . readString () ĊĠĠĠĠĠĠĠ Ġto Ġ= Ġparcel . readString () ĊĠĠĠĠĠĠĠ Ġimage Ġ= Ġparcel . readString () ĊĠĠĠĠĠĠĠ Ġval Ġtmp Ġ= Ġparcel . read Long () ĊĠĠĠĠĠĠĠ Ġtimestamp Ġ= Ġif Ġ( tmp Ġ> Ġ- 1 L ) ĠDate ( tmp ) Ġelse Ġnull ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġconstructor () ĊĊĠĠĠ Ġconstructor ( title : ĠString , Ġmessage : ĠString , Ġfrom : ĠString , Ġto : ĠString , Ġimage : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . title Ġ= Ġtitle ĊĠĠĠĠĠĠĠ Ġthis . message Ġ= Ġmessage ĊĠĠĠĠĠĠĠ Ġthis . from Ġ= Ġfrom ĊĠĠĠĠĠĠĠ Ġthis . to Ġ= Ġto ĊĠĠĠĠĠĠĠ Ġthis . image Ġ= Ġimage ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠwriteTo Parcel ( parcel : ĠParcel , Ġflags : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġparcel . writeString ( title ) ĊĠĠĠĠĠĠĠ Ġparcel . writeString ( message ) ĊĠĠĠĠĠĠĠ Ġparcel . writeString ( from ) ĊĠĠĠĠĠĠĠ Ġparcel . writeString ( to ) ĊĠĠĠĠĠĠĠ Ġparcel . writeString ( image ) ĊĠĠĠĠĠĠĠ Ġparcel . write Long ( if Ġ( timestamp Ġ!= Ġnull ) Ġtimestamp !!. time Ġelse Ġ- 1 L ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdescribe Contents (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject ĠCRE ATOR Ġ: ĠParcel able . Creator < Ph o enix Notification > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate From Parcel ( parcel : ĠParcel ): ĠP ho enix Notification Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠP ho enix Notification ( parcel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġnew Array ( size : ĠInt ): ĠArray < Ph o enix Notification ?> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠarrayOf Null s ( size ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠCreates Ġa Ġhash Map Ġfrom Ġan Ġexisting Ġ[ Ph o enix Notification ] Ġ*/ ĊĠĠĠ Ġfun Ġto HashMap ( existing : ĠP ho enix Notification ): ĠHashMap < String , ĠAny ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġhash Map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" title ", Ġexisting . title ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" message ", Ġexisting . message ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" from ", Ġexisting . from ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" to ", Ġexisting . to ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" image ", Ġexisting . image ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" timestamp ", ĠDate ( System . currentTimeMillis ())) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Ph o enix Notification ( message =$ message , Ġfrom =$ from , Ġto =$ to , Ġtimestamp =$ timestamp )" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( other Ġ! is ĠP ho enix Notification ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġif Ġ( title Ġ!= Ġother . title ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( message Ġ!= Ġother . message ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( from Ġ!= Ġother . from ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( to Ġ!= Ġother . to ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( image Ġ!= Ġother . image ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( timestamp Ġ!= Ġother . timestamp ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġtitle ?. hashCode () Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( message ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( from ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( to ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( image ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( timestamp ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ