package Ġcom . github . ro oney and shadow s . light bul b . commons . utils Ċ Ċ import Ġandroid . os . Parcel Ċ import Ġcom . github . ro oney and shadow s . java . commons . date . Date Utils Ċ import Ġcom . github . ro oney and shadow s . java . commons . date . Date Utils Offset Date Ċ import Ġjava . time . Offset DateTime Ċ import Ġjava . util .* Ċ import Ġkotlin . collections . HashMap Ċ Ċ @ Suppress (" unused ") Ċ class ĠParcel able Utils Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġwrite Offset DateTime ( dest : ĠParcel , Ġdate : ĠOffset DateTime ?): ĠComp anion Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdest . write Byte (( if Ġ( date Ġ== Ġnull ) Ġ 0 Ġelse Ġ 1 ). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( date Ġ!= Ġnull ) Ġdest . writeString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDate Utils Offset Date . getDate String ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDate Utils Offset Date . default Format With TimeZone , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠComp anion ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġwrite Date ( dest : ĠParcel , Ġdate : ĠDate ?): ĠComp anion Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdest . write Byte (( if Ġ( date Ġ== Ġnull ) Ġ 0 Ġelse Ġ 1 ). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( date Ġ!= Ġnull ) Ġdest . writeString ( Date Utils . getDate String In Default Format ( date )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠComp anion ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġwrite Int ( dest : ĠParcel , Ġinteger : ĠInt ?): ĠComp anion Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdest . write Byte (( if Ġ( integer Ġ== Ġnull ) Ġ 0 Ġelse Ġ 1 ). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( integer Ġ!= Ġnull ) Ġdest . writeInt ( integer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠComp anion ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġwrite String ( dest : ĠParcel , Ġstring : ĠString ?): ĠComp anion Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdest . write Byte (( if Ġ( string Ġ== Ġnull ) Ġ 0 Ġelse Ġ 1 ). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( string Ġ!= Ġnull ) Ġdest . writeString ( string ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠComp anion ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġwrite Double ( dest : ĠParcel , Ġvalue : ĠDouble ?): ĠComp anion Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdest . write Byte (( if Ġ( value Ġ== Ġnull ) Ġ 0 Ġelse Ġ 1 ). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ!= Ġnull ) Ġdest . write Double ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠComp anion ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġwrite Float ( dest : ĠParcel , Ġvalue : ĠFloat ?): ĠComp anion Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdest . write Byte (( if Ġ( value Ġ== Ġnull ) Ġ 0 Ġelse Ġ 1 ). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ!= Ġnull ) Ġdest . write Float ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠComp anion ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġwrite Boolean ( dest : ĠParcel , Ġbool : ĠBoolean ?): ĠComp anion Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdest . write Byte (( if Ġ( bool Ġ== Ġnull ) Ġ 0 Ġelse Ġ 1 ). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bool Ġ!= Ġnull ) Ġdest . writeInt ( if Ġ( bool ) Ġ 1 Ġelse Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠComp anion ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġwrite UUID ( dest : ĠParcel , Ġuuid : ĠUUID ?): ĠComp anion Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdest . write Byte (( if Ġ( uuid Ġ== Ġnull ) Ġ 0 Ġelse Ġ 1 ). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( uuid Ġ!= Ġnull ) Ġdest . writeString ( uuid . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠComp anion ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġwrite String List ( dest : ĠParcel , Ġstring ArrayList : ĠList < String >? ): ĠComp anion Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdest . writeString List ( string ArrayList ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠComp anion ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġ< K Ġ: ĠAny , ĠV Ġ: ĠAny > Ġwrite Typed Map ( dest : ĠParcel , Ġtyped Map : ĠMap < K , ĠV >? ): ĠComp anion Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdest . write Map ( typed Map ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠComp anion ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġread Offset DateTime ( source : ĠParcel ): ĠOffset DateTime ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( source . read Byte (). toInt () Ġ== Ġ 1 ) ĠDate Utils Offset Date . getDate FromString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDate Utils Offset Date . default Format With TimeZone , Ġsource . readString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġelse Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġread Date ( source : ĠParcel ): ĠDate ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( source . read Byte (). toInt () Ġ== Ġ 1 ) ĠDate Utils . getDate FromString In Default Format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource . readString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġelse Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġread Int ( source : ĠParcel ): ĠInt ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( source . read Byte (). toInt () Ġ== Ġ 1 ) Ġsource . readInt () Ġelse Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġread String ( source : ĠParcel ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( source . read Byte (). toInt () Ġ== Ġ 1 ) Ġsource . readString () Ġelse Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġread Double ( source : ĠParcel ): ĠDouble ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( source . read Byte (). toInt () Ġ== Ġ 1 ) Ġsource . read Double () Ġelse Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġread Float ( source : ĠParcel ): ĠFloat ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( source . read Byte (). toInt () Ġ== Ġ 1 ) Ġsource . read Float () Ġelse Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġread Boolean ( source : ĠParcel ): ĠBoolean ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( source . read Byte (). toInt () Ġ== Ġ 1 ) Ġsource . readInt () Ġ== Ġ 1 Ġelse Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġread UUID ( source : ĠParcel ): ĠUUID ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( source . read Byte () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toInt () Ġ== Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĠUUID . fromString ( source . readString ()) Ġelse Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġread String List ( source : ĠParcel ): ĠList < String >? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsource . create String ArrayList () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġ< K Ġ: ĠAny , ĠV Ġ: ĠAny > Ġread Typed Map ( source : ĠParcel ): ĠMap < K , ĠV > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= ĠHashMap < K , ĠV >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsource . read Map ( output , ĠParcel able Utils :: class . java . class Loader ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġoutput ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }