/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttps :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . example . android dev challenge . ui . model Ċ Ċ import Ġandroid . os . Parcelable Ċ import Ġandroidx . annotation . Drawable Res Ċ import Ġkotlinx . parcel ize . Parcel ize Ċ Ċ @ Parcel ize Ċ data Ġclass ĠPet ( ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġval Ġdescription : ĠString , ĊĠĠĠ Ġval Ġspecies : ĠPet Species , ĊĠĠĠ Ġ@ Drawable Res Ġval Ġpicture Id : ĠInt , ĊĠĠĠ Ġval Ġage Months : ĠInt Ċ ) Ġ: ĠParcel able Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"${ species . emoji } Ġ$ name , Ġ${ age ToString ( age Months )}" ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġage ToString ( months : ĠInt ): ĠString Ġ{ ĊĠĠĠ Ġval Ġmonth Remain der Ġ= Ġmonths Ġ% Ġ 1 2 ĊĠĠĠ Ġval Ġyears Ġ= Ġmonths Ġ/ Ġ 1 2 ĊĊĠĠĠ Ġval Ġmonth String Ġ= Ġ"$ month Remain der Ġmonth ${ if Ġ( month Remain der Ġ> Ġ 1 ) Ġ" s " Ġelse Ġ"" }" ĊĠĠĠ Ġval Ġyear String Ġ= Ġ"$ years Ġyear ${ if Ġ( years Ġ> Ġ 1 ) Ġ" s " Ġelse Ġ"" }" ĊĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġyears Ġ< Ġ 1 Ġ-> Ġmonth String ĊĠĠĠĠĠĠĠ Ġmonth Remain der Ġ< Ġ 1 Ġ-> Ġyear String ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"$ year String Ġand Ġ$ month String " ĊĠĠĠ Ġ} Ċ } Ċ Ċ enum Ġclass ĠPet Species ( val Ġemoji : ĠString ) Ġ{ ĊĠĠĠ ĠDO G (" ðŁ Ĳ ¶ "), ĊĠĠĠ ĠCAT (" ðŁ Ĳ ± ") Ċ } Ċ