package Ġcom . an tour age . we aver lib . other . models Ċ Ċ import Ġandroidx . annotation . Keep Ċ import Ġandroidx . room . Ignore Ċ import Ġcom . google . firebase . Timestamp Ċ import Ġcom . google . firebase . firestore . Exclude Ċ import Ġcom . google . firebase . firestore . Ignore Extra Properties Ċ import Ġcom . google . firebase . firestore . PropertyName Ċ import Ġcom . google . firebase . firestore . Server Timestamp Ċ Ċ @ Keep Ċ internal Ġclass ĠMessageType Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSYSTEM : ĠInt Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠUSER : ĠInt Ġ= Ġ 1 ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Keep Ċ internal Ġopen Ġclass ĠFire store Model (@ get : Exclude Ġvar Ġid : ĠString ? Ġ= Ġnull ) Ċ Ċ @ Keep Ċ internal Ġdata Ġclass ĠMessage ( ĊĠĠĠ Ġvar Ġavatar Url : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġvar Ġemail : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġvar Ġnickname : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġvar Ġtext : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġvar Ġtype : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Server Timestamp ĊĠĠĠ Ġ@ Ignore ĊĠĠĠ Ġvar Ġtimestamp : ĠTimestamp ? Ġ= Ġnull , ĊĠĠĠ Ġvar ĠuserID : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġvar Ġpush Time M ills : ĠLong ? Ġ= Ġnull Ċ ) Ġ: ĠFire store Model () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠMessage ĊĊĠĠĠĠĠĠĠ Ġif Ġ( avatar Url Ġ!= Ġother . avatar Url ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( email Ġ!= Ġother . email ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( nickname Ġ!= Ġother . nickname ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( text Ġ!= Ġother . text ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( type Ġ!= Ġother . type ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( timestamp Ġ!= Ġother . timestamp ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( userID Ġ!= Ġother . userID ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġavatar Url ?. hashCode () Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( email ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( nickname ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( text ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( type Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( timestamp ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( userID ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Keep Ċ @ Ignore Extra Properties Ċ internal Ġclass ĠPoll Ġ: ĠFire store Model () Ġ{ ĊĠĠĠ Ġvar Ġstart Timestamp : ĠTimestamp ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġquestion : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġ@ get : PropertyName (" isActive ") ĊĠĠĠ Ġvar ĠisActive : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġvar Ġend Timestamp : ĠTimestamp ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġanswers : ĠList < String >? Ġ= Ġnull ĊĠĠĠ Ġ@ get : Exclude ĊĠĠĠ Ġvar Ġis Answer ed : ĠBoolean Ġ= Ġfalse Ċ } Ċ Ċ @ Keep Ċ internal Ġdata Ġclass ĠAnswer ed User ( ĊĠĠĠ Ġvar Ġchosen Answer : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Server Timestamp ĊĠĠĠ Ġvar Ġtimestamp : ĠTimestamp ? Ġ= Ġnull Ċ ) Ġ: ĠFire store Model () Ċ Ċ @ Keep Ċ internal Ġdata Ġclass ĠAn swers Combined ( ĊĠĠĠ Ġval Ġanswer Text : ĠString , ĊĠĠĠ Ġvar Ġnumber Answer ed : ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġvar Ġis Answer edBy User : ĠBoolean Ġ= Ġfalse Ċ ) Ċ Ċ @ Keep Ċ @ Ignore Extra Properties Ċ internal Ġdata Ġclass ĠStream ( ĊĠĠĠ Ġ@ get : Exclude Ġval Ġstream Id : ĠInt , ĊĠĠĠ Ġ@ get : PropertyName (" is Chat Active ") ĊĠĠĠ Ġvar Ġis Chat Active : ĠBoolean , ĊĠĠĠ Ġval Ġteam ID : ĠInt , ĊĠĠĠ Ġval ĠuserID : ĠInt , ĊĠĠĠ Ġval Ġview ers Count : ĠInt , ĊĠĠĠ Ġ@ get : Exclude Ġval Ġmessages : ĠList < Message > Ċ ) Ġ{ ĊĠĠĠ Ġconstructor () Ġ: Ġthis (- 1 , Ġfalse , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġmutable ListOf ()) Ċ } Ċ