package Ġcom . language xx . simp len otes . persistence Ċ Ċ import Ġandroid . os . Parcel Ċ import Ġandroid . os . Parcelable Ċ import Ġandroidx . room . Entity Ċ import Ġandroidx . room . PrimaryKey ĊĊ Ċ // Ġ- ĠEntity Ġclass Ġfor Ġnote Ġtable Ċ // Ġ- ĠA ĠParcel able Ġis Ġthe ĠAndroid Ġimplementation Ġof Ġthe ĠJava ĠSerializable Ċ // Ġ- ĠIt Ġis Ġused Ġto Ġtransfer Ġdata Ġbetween Ġactivities Ġor Ġfragments Ċ Ċ @ Entity ( tableName Ġ= Ġ" tbl _ note ") Ċ class ĠNote (@ PrimaryKey ( auto Generate Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠ Ġvar Ġid : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtitle : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdescription : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtag : String ?) Ġ: Parcelable { ĊĊĊĠĠĠ Ġconstructor ( parcel : ĠParcel ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ Ġparcel . readInt (), ĊĠĠĠĠĠĠĠ Ġparcel . readString (), ĊĠĠĠĠĠĠĠ Ġparcel . readString (), ĊĠĠĠĠĠĠĠ Ġparcel . readString ()) ĊĊĊĠĠĠ Ġ// ĠMethod Ġ# 1 ĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . equals ( other ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠMethod Ġ# 2 ĊĠĠĠ Ġoverride Ġfun ĠwriteTo Parcel ( parcel : ĠParcel , Ġflags : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġparcel . writeInt ( id ) ĊĠĠĠĠĠĠĠ Ġparcel . writeString ( title ) ĊĠĠĠĠĠĠĠ Ġparcel . writeString ( description ) ĊĠĠĠĠĠĠĠ Ġparcel . writeString ( tag ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠMethod Ġ# 3 ĊĠĠĠ Ġoverride Ġfun Ġdescribe Contents (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject ĠCRE ATOR Ġ: ĠParcel able . Creator < Note > Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠMethod Ġ# 4 ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate From Parcel ( parcel : ĠParcel ): ĠNote Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠNote ( parcel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠMethod Ġ# 5 ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġnew Array ( size : ĠInt ): ĠArray < Note ?> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠarrayOf Null s ( size ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠMethod Ġ# 6 ĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġid ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( title ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( description ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( tag ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊ Ċ }