// ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠObject ivity . ĠAll Ġrights Ġreserved . Ċ // ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby ĠThe ĠMIT ĠLicense Ġ( MIT ) Ġthat Ġcan Ġbe Ċ // Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ċ package Ġuk . co . object ivity . beacon _ monitoring . plugin . model Ċ Ċ import Ġandroid . os . Parcelable Ċ import Ġcom . squareup . mos hi . FromJson Ċ import Ġcom . squareup . mos hi . Json Class Ċ import Ġcom . squareup . mos hi . M oshi Ċ import Ġcom . squareup . mos hi . ToJson Ċ import Ġkotlinx . android . parcel . Parcel ize Ċ import Ġorg . alt beacon . beacon . Monitor Notifier Ċ Ċ fun ĠMonitoring Result . toJson (): ĠString Ġ= ĠM oshi . Builder () ĊĠĠĠĠĠĠĠ Ġ. add ( Monitoring Event . Adapter ()) ĊĠĠĠĠĠĠĠ Ġ. add ( Monitoring State . Adapter ()) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ. adapter ( Monitoring Result :: class . java ) ĊĠĠĠĠĠĠĠ Ġ. toJson ( this ) Ċ Ċ enum Ġclass ĠMonitoring Event ( val Ġreadable Name : ĠString ) Ġ{ ĊĠĠĠ Ġdid Enter Region (" Enter ĠRegion "), ĊĠĠĠ Ġdid Exit Region (" Exit ĠRegion "), ĊĠĠĠ Ġdid Det ermine State (" Det ermine ĠState "); ĊĊĠĠĠ Ġclass ĠAdapter Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ FromJson ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Json ( json : ĠString ): ĠMonitoring Event Ġ= Ġvalue Of ( json ) ĊĊĠĠĠĠĠĠĠ Ġ@ ToJson ĊĠĠĠĠĠĠĠ Ġfun ĠtoJson ( value : ĠMonitoring Event ): ĠString Ġ= Ġvalue . toString () ĊĠĠĠ Ġ} Ċ } Ċ Ċ enum Ġclass ĠMonitoring State ( private Ġval Ġvalue : ĠInt ) Ġ{ ĊĠĠĠ Ġinside ( Monitor Notifier . INS IDE ), ĊĠĠĠ Ġoutside ( Monitor Notifier . OUT SIDE ); ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Int ( value : ĠInt ) Ġ= Ġvalues (). first Ġ{ Ġit . value Ġ== Ġvalue Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠAdapter Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ FromJson ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Json ( json : ĠString ): ĠMonitoring State Ġ= Ġvalue Of ( json ) ĊĊĠĠĠĠĠĠĠ Ġ@ ToJson ĊĠĠĠĠĠĠĠ Ġfun ĠtoJson ( value : ĠMonitoring State ): ĠString Ġ= Ġvalue . toString () ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Parcel ize Ċ @ Json Class ( generate Adapter Ġ= Ġtrue ) Ċ data Ġclass ĠMonitoring Result ( ĊĠĠĠĠĠĠĠ Ġval Ġregion : ĠRegion Model , ĊĠĠĠĠĠĠĠ Ġval Ġtype : ĠMonitoring Event , ĊĠĠĠĠĠĠĠ Ġval Ġstate : ĠMonitoring State ? Ġ= Ġnull Ċ ) Ġ: ĠParcel able