package Ġcom . cor rot . db . data . model Ċ Ċ import Ġcom . cor rot . db . data . dto . User Dto Ċ Ċ data Ġclass ĠUser ( ĊĠĠĠ Ġval ĠuserId : ĠString , ĊĠĠĠ Ġval Ġha 1 : ĠByteArray , ĊĠĠĠ Ġval Ġdevices : ĠList < User Device >, ĊĠĠĠ Ġval Ġregistration Timestamp : ĠLong , ĊĠĠĠ Ġvar Ġlast Activity Timestamp : ĠLong , Ċ ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠUser ĊĊĠĠĠĠĠĠĠ Ġif Ġ( userId Ġ!= Ġother . userId ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ(! ha 1 . content Equals ( other . ha 1 )) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( registration Timestamp Ġ!= Ġother . registration Timestamp ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( last Activity Timestamp Ġ!= Ġother . last Activity Timestamp ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= ĠuserId . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġha 1 . content HashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġregistration Timestamp . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġlast Activity Timestamp . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠUser . to User Dto () Ġ= ĠUser Dto ( ĊĠĠĠ ĠuserId Ġ= ĠuserId , ĊĠĠĠ Ġdevices Ġ= Ġdevices , ĊĠĠĠ Ġregistration Timestamp Ġ= Ġregistration Timestamp , ĊĠĠĠ Ġlast Activity Timestamp Ġ= Ġlast Activity Timestamp Ċ )