package Ġat . tu gr az 0 5 . slim cat Ċ Ċ import Ġandroid . os . Parcel Ċ import Ġandroid . os . Parcelable Ċ import Ġcom . google . firebase . database . Exclude Ċ import Ġjava . lang . Number FormatException Ċ Ċ data Ġclass ĠFood Details Data Class ( var Ġname : ĠString ? Ġ= Ġnull , Ġvar Ġraw Protein : ĠDouble ? Ġ= Ġnull , Ġvar Ġraw Fat : ĠDouble ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcr ude A sh : ĠDouble ? Ġ= Ġnull , Ġvar Ġraw Fi ber : ĠDouble ? Ġ= Ġnull , Ġvar Ġwater : ĠDouble ? Ġ= Ġnull , Ġvar Ġcal ories : ĠInt Ġ= Ġ 0 ) Ġ: ĠParcel able { ĊĠĠĠ Ġconstructor ( parcel : ĠParcel ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ Ġparcel . readString (), ĊĠĠĠĠĠĠĠ Ġparcel . read Double (), ĊĠĠĠĠĠĠĠ Ġparcel . read Double (), ĊĠĠĠĠĠĠĠ Ġparcel . read Double (), ĊĠĠĠĠĠĠĠ Ġparcel . read Double (), ĊĠĠĠĠĠĠĠ Ġparcel . read Double (), ĊĠĠĠĠĠĠĠ Ġparcel . readInt () ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġto Map (): ĠMap < String , ĠAny ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġname , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" raw Protein " Ġto Ġ( raw Protein Ġ?: Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" raw Fat " Ġto Ġ( raw Fat Ġ?: Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" cr ude A sh " Ġto Ġ( cr ude A sh Ġ?: Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" raw Fi ber " Ġto Ġ( raw Fi ber Ġ?: Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" water " Ġto Ġ( water Ġ?: Ġ 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" cal ories " Ġto Ġcal ories ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Exclude ĊĠĠĠ Ġfun Ġget Raw Protein Str (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġraw Protein ?. toString () Ġ?: Ġ"" ĊĠĠĠ Ġ} ĊĠĠĠ Ġ@ Exclude ĊĠĠĠ Ġfun Ġset Raw Protein Str ( s : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġraw Protein Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs . toDouble () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠNumber FormatException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Exclude ĊĠĠĠ Ġfun Ġget Raw Fat Str (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġraw Fat ?. toString () Ġ?: Ġ"" ĊĠĠĠ Ġ} ĊĠĠĠ Ġ@ Exclude ĊĠĠĠ Ġfun Ġset Raw Fat Str ( s : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġraw Fat Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs . toDouble () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠNumber FormatException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Exclude ĊĠĠĠ Ġfun Ġget Cr ude A sh Str (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcr ude A sh ?. toString () Ġ?: Ġ"" ĊĠĠĠ Ġ} ĊĠĠĠ Ġ@ Exclude ĊĠĠĠ Ġfun Ġset Cr ude A sh Str ( s : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcr ude A sh Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs . toDouble () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠNumber FormatException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Exclude ĊĠĠĠ Ġfun Ġget Raw Fi ber Str (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġraw Fi ber ?. toString () Ġ?: Ġ"" ĊĠĠĠ Ġ} ĊĠĠĠ Ġ@ Exclude ĊĠĠĠ Ġfun Ġset Raw Fi ber Str ( s : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġraw Fi ber Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs . toDouble () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠNumber FormatException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Exclude ĊĠĠĠ Ġfun Ġget Water Str (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwater ?. toString () Ġ?: Ġ"" ĊĠĠĠ Ġ} ĊĠĠĠ Ġ@ Exclude ĊĠĠĠ Ġfun Ġset Water Str ( s : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwater Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs . toDouble () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠNumber FormatException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠwriteTo Parcel ( parcel : ĠParcel , Ġflags : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġparcel . writeString ( name ) ĊĠĠĠĠĠĠĠ Ġparcel . write Double ( raw Protein Ġ?: Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġparcel . write Double ( raw Fat Ġ?: Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġparcel . write Double ( cr ude A sh Ġ?: Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġparcel . write Double ( raw Fi ber Ġ?: Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġparcel . write Double ( water Ġ?: Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġparcel . writeInt ( cal ories ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdescribe Contents (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field Ġval ĠCRE ATOR Ġ= Ġobject Ġ: ĠParcel able . Creator < Food Details Data Class > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate From Parcel ( parcel : ĠParcel ): ĠFood Details Data Class Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠFood Details Data Class ( parcel ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġnew Array ( size : ĠInt ): ĠArray < Food Details Data Class ?> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠarrayOf Null s ( size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġdefault Food s (): ĠList < Food Details Data Class ?> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFood Details Data Class ( name Ġ= Ġ" D ry ĠFood ", Ġraw Protein Ġ= Ġ 3 0 . 0 , Ġraw Fat Ġ= Ġ 1 2 . 0 , Ġcr ude A sh Ġ= Ġ 6 . 0 , Ġraw Fi ber Ġ= Ġ 3 . 0 , Ġwater Ġ= Ġ 7 . 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFood Details Data Class ( name Ġ= Ġ" W et ĠFood ", Ġraw Protein Ġ= Ġ 3 0 . 0 , Ġraw Fat Ġ= Ġ 1 2 . 0 , Ġcr ude A sh Ġ= Ġ 6 . 0 , Ġraw Fi ber Ġ= Ġ 3 . 0 , Ġwater Ġ= Ġ 7 9 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . cal ories Ġ= ĠUtil . calc Food Cal s ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }