/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 Ġ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 Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// 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 Ġandroidx . navigation Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Parcelable Ċ import Ġandroidx . annotation . Any Res Ċ import Ġandroidx . annotation . Restrict To Ċ import Ġjava . io . Serializable Ċ Ċ /** Ċ Ġ* ĠNav Type Ġden otes Ġthe Ġtype Ġthat Ġcan Ġbe Ġused Ġin Ġa Ġ[ Nav Argument ]. Ċ Ġ* Ċ Ġ* ĠThere Ġare Ġbuilt - in ĠNav Types Ġfor Ġprimitive Ġtypes , Ġsuch Ġas Ġint , Ġlong , Ġboolean , Ġfloat , Ġand Ġstrings , Ċ Ġ* Ġparcel able , Ġand Ġserial izable Ġclasses Ġ( including ĠEnums ), Ġas Ġwell Ġas Ġarrays Ġof Ġeach Ġsupported Ġtype . Ċ Ġ* Ċ Ġ* ĠYou Ġshould Ġonly Ġuse Ġone Ġof Ġthe Ġstatic ĠNav Type Ġinstances Ġand Ġsubclasses Ġdefined Ġin Ġthis Ġclass . Ċ Ġ* Ċ Ġ* Ġ@ param Ġ< T > Ġthe Ġtype Ġof Ġthe Ġdata Ġthat Ġis Ġsupported Ġby Ġthis ĠNav Type Ċ Ġ*/ Ċ public Ġabstract Ġclass ĠNav Type < T > Ġinternal Ġconstructor ( ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCheck Ġif Ġan Ġargument Ġwith Ġthis Ġtype Ġcan Ġhold Ġa Ġnull Ġvalue . ĊĠĠĠĠ Ġ* Ġ@ return ĠReturns Ġtrue Ġif Ġthis Ġtype Ġallows Ġnull Ġvalues , Ġfalse Ġotherwise . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġopen Ġval Ġis Nullable Allowed : ĠBoolean Ċ ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPut Ġa Ġvalue Ġof Ġthis Ġtype Ġin Ġthe Ġ` bundle ` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġbundle Ġbundle Ġto Ġput Ġvalue Ġin ĊĠĠĠĠ Ġ* Ġ@ param Ġkey ĠĠĠ Ġbundle Ġkey ĊĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġ Ġvalue Ġof Ġthis Ġtype ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġabstract Ġfun Ġput ( bundle : ĠBundle , Ġkey : ĠString , Ġvalue : ĠT ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġa Ġvalue Ġof Ġthis Ġtype Ġfrom Ġthe Ġ` bundle ` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġbundle Ġbundle Ġto Ġget Ġvalue Ġfrom ĊĠĠĠĠ Ġ* Ġ@ param Ġkey ĠĠĠ Ġbundle Ġkey ĊĠĠĠĠ Ġ* Ġ@ return Ġvalue Ġof Ġthis Ġtype ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġabstract Ġoperator Ġfun Ġget ( bundle : ĠBundle , Ġkey : ĠString ): ĠT ? ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠParse Ġa Ġvalue Ġof Ġthis Ġtype Ġfrom Ġa ĠString . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġstring Ġrepresentation Ġof Ġa Ġvalue Ġof Ġthis Ġtype ĊĠĠĠĠ Ġ* Ġ@ return Ġparsed Ġvalue Ġof Ġthe Ġtype Ġrepresented Ġby Ġthis ĠNav Type ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġif Ġvalue Ġcannot Ġbe Ġparsed Ġinto Ġthis Ġtype ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġabstract Ġfun Ġparse Value ( value : ĠString ): ĠT ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠParse Ġa Ġvalue Ġof Ġthis Ġtype Ġfrom Ġa ĠString Ġand Ġput Ġit Ġin Ġa Ġ` bundle ` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġbundle Ġbundle Ġto Ġput Ġvalue Ġin ĊĠĠĠĠ Ġ* Ġ@ param Ġkey ĠĠĠ Ġbundle Ġkey Ġunder Ġwhich Ġto Ġput Ġthe Ġvalue ĊĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġ Ġparsed Ġvalue ĊĠĠĠĠ Ġ* Ġ@ return Ġparsed Ġvalue Ġof Ġthe Ġtype Ġrepresented Ġby Ġthis ĠNav Type ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Restrict To ( Restrict To . Scope . LIBRARY _ GROUP ) ĊĠĠĠ Ġpublic Ġfun Ġparse And Put ( bundle : ĠBundle , Ġkey : ĠString , Ġvalue : ĠString ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparsed Value Ġ= Ġparse Value ( value ) ĊĠĠĠĠĠĠĠ Ġput ( bundle , Ġkey , Ġparsed Value ) ĊĠĠĠĠĠĠĠ Ġreturn Ġparsed Value ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġname Ġof Ġthis Ġtype . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThis Ġis Ġthe Ġsame Ġvalue Ġthat Ġis Ġused Ġin ĠNavigation ĠXML Ġ` arg Type ` Ġattribute . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġname Ġof Ġthis Ġtype ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġabstract Ġval Ġname : ĠString ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġname ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠParse Ġan Ġarg Type Ġstring Ġinto Ġa ĠNav Type . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġtype ĠĠĠĠĠĠĠ Ġarg Type Ġstring , Ġusually Ġparsed Ġfrom Ġthe ĠNavigation ĠXML Ġfile ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param ĠpackageName Ġpackage Ġname Ġof Ġthe ĠR Ġfile , ĊĠĠĠĠĠĠĠĠ Ġ* Ġused Ġfor Ġparsing Ġrelative Ġclass Ġnames Ġstarting Ġwith Ġa Ġdot . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġa ĠNav Type Ġrepresenting Ġthe Ġtype Ġindicated Ġby Ġthe Ġarg Type Ġstring . ĊĠĠĠĠĠĠĠĠ Ġ* ĠDefaults Ġto ĠString Type Ġfor Ġnull . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġif Ġthere Ġis Ġno Ġvalid Ġarg Type ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠRuntimeException Ġif Ġthe Ġtype Ġclass Ġname Ġcannot Ġbe Ġfound ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" NON _ FINAL _ MEMBER _ IN _ OBJECT ", Ġ" UN CHECK ED _ CAST ") Ġ// Ġthis Ġneeds Ġto Ġbe Ġopen Ġto ĊĠĠĠĠĠĠĠ Ġ// Ġmaintain Ġapi Ġcompatibility Ġand Ġtype Ġcast Ġare Ġunchecked ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġpublic Ġopen Ġfun Ġfrom Arg Type ( type : ĠString ?, ĠpackageName : ĠString ?): ĠNav Type < *> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInt Type . name Ġ== Ġtype Ġ-> Ġreturn ĠInt Type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInt ArrayType . name Ġ== Ġtype Ġ-> Ġreturn ĠInt ArrayType ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLong Type . name Ġ== Ġtype Ġ-> Ġreturn ĠLong Type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLong ArrayType . name Ġ== Ġtype Ġ-> Ġreturn ĠLong ArrayType ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBool Type . name Ġ== Ġtype Ġ-> Ġreturn ĠBool Type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBool ArrayType . name Ġ== Ġtype Ġ-> Ġreturn ĠBool ArrayType ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString Type . name Ġ== Ġtype Ġ-> Ġreturn ĠString Type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString ArrayType . name Ġ== Ġtype Ġ-> Ġreturn ĠString ArrayType ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFloat Type . name Ġ== Ġtype Ġ-> Ġreturn ĠFloat Type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFloat ArrayType . name Ġ== Ġtype Ġ-> Ġreturn ĠFloat ArrayType ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠReference Type . name Ġ== Ġtype Ġ-> Ġreturn ĠReference Type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! type . isNull OrEmpty () Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar ĠclassName : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠclassName Ġ= Ġif Ġ( type . startsWith (".") Ġ&& ĠpackageName Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠpackageName Ġ+ Ġtype ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( type . endsWith (" [] ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠclassName Ġ= ĠclassName . substring ( 0 , ĠclassName . length Ġ- Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclazz Ġ= ĠClass . forName ( className ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠParcel able :: class . java . isAssignableFrom ( clazz ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠParcel able ArrayType ( clazz Ġas ĠClass < Parcelable >) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSerializable :: class . java . isAssignableFrom ( clazz ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSerializable ArrayType ( clazz Ġas ĠClass < Serializable >) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclazz Ġ= ĠClass . forName ( className ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠParcel able :: class . java . isAssignableFrom ( clazz ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠParcel able Type ( clazz Ġas ĠClass < Any ?> ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEnum :: class . java . isAssignableFrom ( clazz ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠEnum Type ( clazz Ġas ĠClass < Enum <* >>) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSerializable :: class . java . isAssignableFrom ( clazz ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSerializable Type ( clazz Ġas ĠClass < Serializable >) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ className Ġis Ġnot ĠSerializable Ġor ĠParcel able ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠClass NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠString Type ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") Ġ// Ġneeded Ġfor Ġcast Ġto ĠNav Type < Any > ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ Restrict To ( Restrict To . Scope . LIBRARY _ GROUP ) ĊĠĠĠĠĠĠĠ Ġpublic Ġfun Ġinfer From Value ( value : ĠString ): ĠNav Type < Any > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġbecause Ġwe Ġallow ĠLong Ġliterals Ġwithout Ġthe ĠL Ġsuffix Ġat Ġruntime , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthe Ġorder Ġof ĠInt Type Ġand ĠLong Type Ġparsing Ġhas Ġto Ġbe Ġreversed Ġcompared Ġto ĠSafe ĠArgs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInt Type . parse Value ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠInt Type Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġignored , Ġproceed Ġto Ġcheck Ġnext Ġtype ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLong Type . parse Value ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠLong Type Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġignored , Ġproceed Ġto Ġcheck Ġnext Ġtype ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFloat Type . parse Value ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠFloat Type Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġignored , Ġproceed Ġto Ġcheck Ġnext Ġtype ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBool Type . parse Value ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBool Type Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġignored , Ġproceed Ġto Ġcheck Ġnext Ġtype ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠString Type Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġnothing ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġnot Ġreal ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") Ġ// Ġneeded Ġfor Ġcast Ġto ĠNav Type < Any > ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ Restrict To ( Restrict To . Scope . LIBRARY _ GROUP ) ĊĠĠĠĠĠĠĠ Ġpublic Ġfun Ġinfer From ValueType ( value : ĠAny ?): ĠNav Type < Any > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠInt Ġ-> ĠInt Type Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠInt Array Ġ-> ĠInt ArrayType Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠLong Ġ-> ĠLong Type Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠLong Array Ġ-> ĠLong ArrayType Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠFloat Ġ-> ĠFloat Type Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠFloat Array Ġ-> ĠFloat ArrayType Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠBoolean Ġ-> ĠBool Type Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠBoolean Array Ġ-> ĠBool ArrayType Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠString Ġ|| Ġvalue Ġ== Ġnull Ġ-> ĠString Type Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠArray < *> Ġ&& Ġvalue . isArray Of < String >() Ġ-> ĠString ArrayType Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . java Class . isArray Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠParcel able :: class . java . isAssignableFrom ( value . java Class . component Type !! ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠParcel able ArrayType ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . java Class . component Type Ġas ĠClass < Parcelable > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . java Class . isArray Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSerializable :: class . java . isAssignableFrom ( value . java Class . component Type !! ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSerializable ArrayType ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . java Class . component Type Ġas ĠClass < Serializable > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠParcel able Ġ-> ĠParcel able Type ( value . java Class ) Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠEnum < *> Ġ-> ĠEnum Type ( value . java Class ) Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġis ĠSerializable Ġ-> ĠSerializable Type ( value . java Class ) Ġas ĠNav Type < Any > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Object Ġof Ġtype Ġ${ value . java Class . name } Ġis Ġnot Ġsupported Ġfor Ġnavigation Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" arguments ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠNav Type Ġfor Ġstoring Ġinteger Ġvalues , ĊĠĠĠĠĠĠĠĠ Ġ* Ġcorresponding Ġwith Ġthe Ġ" integer " Ġtype Ġin Ġa ĠNavigation ĠXML Ġfile . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* ĠNull Ġvalues Ġare Ġnot Ġsupported . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠInt Type : ĠNav Type < Int > Ġ= Ġobject Ġ: ĠNav Type < Int >( false ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" integer " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġput ( bundle : ĠBundle , Ġkey : ĠString , Ġvalue : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Int ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget ( bundle : ĠBundle , Ġkey : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbundle [ key ] Ġas ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse Value ( value : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( value . startsWith (" 0 x ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . substring ( 2 ). toInt ( 1 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠNav Type Ġfor Ġstoring Ġinteger Ġvalues Ġrepresenting Ġresource Ġids , ĊĠĠĠĠĠĠĠĠ Ġ* Ġcorresponding Ġwith Ġthe Ġ" reference " Ġtype Ġin Ġa ĠNavigation ĠXML Ġfile . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* ĠNull Ġvalues Ġare Ġnot Ġsupported . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠReference Type : ĠNav Type < Int > Ġ= Ġobject Ġ: ĠNav Type < Int >( false ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" reference " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġput ( bundle : ĠBundle , Ġkey : ĠString , Ġ@ Any Res Ġvalue : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Int ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Any Res ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget ( bundle : ĠBundle , Ġkey : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbundle [ key ] Ġas ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse Value ( value : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( value . startsWith (" 0 x ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . substring ( 2 ). toInt ( 1 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠNav Type Ġfor Ġstoring Ġinteger Ġarrays , ĊĠĠĠĠĠĠĠĠ Ġ* Ġcorresponding Ġwith Ġthe Ġ" integer []" Ġtype Ġin Ġa ĠNavigation ĠXML Ġfile . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* ĠNull Ġvalues Ġare Ġsupported . ĊĠĠĠĠĠĠĠĠ Ġ* ĠDefault Ġvalues Ġin ĠNavigation ĠXML Ġfiles Ġare Ġnot Ġsupported . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠInt ArrayType : ĠNav Type < IntArray ?> Ġ= Ġobject Ġ: ĠNav Type < IntArray ? >( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" integer []" ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġput ( bundle : ĠBundle , Ġkey : ĠString , Ġvalue : ĠInt Array ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put IntArray ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget ( bundle : ĠBundle , Ġkey : ĠString ): ĠInt Array ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbundle [ key ] Ġas ĠInt Array ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse Value ( value : ĠString ): ĠInt Array Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException (" Arrays Ġdon 't Ġsupport Ġdefault Ġvalues .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠNav Type Ġfor Ġstoring Ġlong Ġvalues , ĊĠĠĠĠĠĠĠĠ Ġ* Ġcorresponding Ġwith Ġthe Ġ" long " Ġtype Ġin Ġa ĠNavigation ĠXML Ġfile . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* ĠNull Ġvalues Ġare Ġnot Ġsupported . ĊĠĠĠĠĠĠĠĠ Ġ* ĠDefault Ġvalues Ġfor Ġthis Ġtype Ġin ĠNavigation ĠXML Ġfiles Ġmust Ġalways Ġend Ġwith Ġan Ġ' L ' Ġsuffix , Ġe . g . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ` app : defaultValue =" 1 2 3 L " `. ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠLong Type : ĠNav Type < Long > Ġ= Ġobject Ġ: ĠNav Type < Long >( false ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" long " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġput ( bundle : ĠBundle , Ġkey : ĠString , Ġvalue : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Long ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget ( bundle : ĠBundle , Ġkey : ĠString ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbundle [ key ] Ġas ĠLong ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse Value ( value : ĠString ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAt Ġruntime Ġthe ĠL Ġsuffix Ġis Ġoptional , Ġcontr ary Ġto Ġthe ĠSafe ĠArgs Ġplugin . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThis Ġis Ġin Ġorder Ġto Ġbe Ġable Ġto Ġparse Ġlong Ġnumbers Ġpassed Ġas Ġdeep Ġlink ĠURL ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġparameters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġlocal Value Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value . endsWith (" L ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocal Value Ġ= Ġlocal Value . substring ( 0 , Ġvalue . length Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( value . startsWith (" 0 x ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocal Value . substring ( 2 ). to Long ( 1 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocal Value . to Long () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠNav Type Ġfor Ġstoring Ġlong Ġarrays , ĊĠĠĠĠĠĠĠĠ Ġ* Ġcorresponding Ġwith Ġthe Ġ" long []" Ġtype Ġin Ġa ĠNavigation ĠXML Ġfile . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* ĠNull Ġvalues Ġare Ġsupported . ĊĠĠĠĠĠĠĠĠ Ġ* ĠDefault Ġvalues Ġin ĠNavigation ĠXML Ġfiles Ġare Ġnot Ġsupported . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠLong ArrayType : ĠNav Type < Long Array ?> Ġ= Ġobject Ġ: ĠNav Type < Long Array ? >( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" long []" ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġput ( bundle : ĠBundle , Ġkey : ĠString , Ġvalue : ĠLong Array ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Long Array ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget ( bundle : ĠBundle , Ġkey : ĠString ): ĠLong Array ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbundle [ key ] Ġas ĠLong Array ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse Value ( value : ĠString ): ĠLong Array Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException (" Arrays Ġdon 't Ġsupport Ġdefault Ġvalues .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠNav Type Ġfor Ġstoring Ġfloat Ġvalues , ĊĠĠĠĠĠĠĠĠ Ġ* Ġcorresponding Ġwith Ġthe Ġ" float " Ġtype Ġin Ġa ĠNavigation ĠXML Ġfile . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* ĠNull Ġvalues Ġare Ġnot Ġsupported . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠFloat Type : ĠNav Type < Float > Ġ= Ġobject Ġ: ĠNav Type < Float >( false ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" float " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġput ( bundle : ĠBundle , Ġkey : ĠString , Ġvalue : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Float ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget ( bundle : ĠBundle , Ġkey : ĠString ): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbundle [ key ] Ġas ĠFloat ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse Value ( value : ĠString ): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġvalue . toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠNav Type Ġfor Ġstoring Ġfloat Ġarrays , ĊĠĠĠĠĠĠĠĠ Ġ* Ġcorresponding Ġwith Ġthe Ġ" float []" Ġtype Ġin Ġa ĠNavigation ĠXML Ġfile . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* ĠNull Ġvalues Ġare Ġsupported . ĊĠĠĠĠĠĠĠĠ Ġ* ĠDefault Ġvalues Ġin ĠNavigation ĠXML Ġfiles Ġare Ġnot Ġsupported . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠFloat ArrayType : ĠNav Type < Float Array ?> Ġ= Ġobject Ġ: ĠNav Type < Float Array ? >( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" float []" ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġput ( bundle : ĠBundle , Ġkey : ĠString , Ġvalue : ĠFloat Array ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Float Array ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget ( bundle : ĠBundle , Ġkey : ĠString ): ĠFloat Array ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbundle [ key ] Ġas ĠFloat Array ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse Value ( value : ĠString ): ĠFloat Array Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException (" Arrays Ġdon 't Ġsupport Ġdefault Ġvalues .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠNav Type Ġfor Ġstoring Ġboolean Ġvalues , ĊĠĠĠĠĠĠĠĠ Ġ* Ġcorresponding Ġwith Ġthe Ġ" boolean " Ġtype Ġin Ġa ĠNavigation ĠXML Ġfile . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* ĠNull Ġvalues Ġare Ġnot Ġsupported . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠBool Type : ĠNav Type < Boolean > Ġ= Ġobject Ġ: ĠNav Type < Boolean >( false ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" boolean " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġput ( bundle : ĠBundle , Ġkey : ĠString , Ġvalue : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Boolean ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget ( bundle : ĠBundle , Ġkey : ĠString ): ĠBoolean ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbundle [ key ] Ġas ĠBoolean ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse Value ( value : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" true " Ġ-> Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" false " Ġ-> Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" A Ġboolean ĠNav Type Ġonly Ġaccepts Ġ\" true \" Ġor Ġ\" false \" Ġvalues ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠNav Type Ġfor Ġstoring Ġboolean Ġarrays , ĊĠĠĠĠĠĠĠĠ Ġ* Ġcorresponding Ġwith Ġthe Ġ" boolean []" Ġtype Ġin Ġa ĠNavigation ĠXML Ġfile . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* ĠNull Ġvalues Ġare Ġsupported . ĊĠĠĠĠĠĠĠĠ Ġ* ĠDefault Ġvalues Ġin ĠNavigation ĠXML Ġfiles Ġare Ġnot Ġsupported . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠBool ArrayType : ĠNav Type < Boolean Array ?> Ġ= Ġobject Ġ: ĠNav Type < Boolean Array ? >( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" boolean []" ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġput ( bundle : ĠBundle , Ġkey : ĠString , Ġvalue : ĠBoolean Array ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Boolean Array ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget ( bundle : ĠBundle , Ġkey : ĠString ): ĠBoolean Array ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbundle [ key ] Ġas ĠBoolean Array ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse Value ( value : ĠString ): ĠBoolean Array Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException (" Arrays Ġdon 't Ġsupport Ġdefault Ġvalues .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠNav Type Ġfor Ġstoring ĠString Ġvalues , ĊĠĠĠĠĠĠĠĠ Ġ* Ġcorresponding Ġwith Ġthe Ġ" string " Ġtype Ġin Ġa ĠNavigation ĠXML Ġfile . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* ĠNull Ġvalues Ġare Ġsupported . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠString Type : ĠNav Type < String ?> Ġ= Ġobject Ġ: ĠNav Type < String ? >( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" string " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġput ( bundle : ĠBundle , Ġkey : ĠString , Ġvalue : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . putString ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget ( bundle : ĠBundle , Ġkey : ĠString ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbundle [ key ] Ġas ĠString ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse Value ( value : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠNav Type Ġfor Ġstoring ĠString Ġarrays , ĊĠĠĠĠĠĠĠĠ Ġ* Ġcorresponding Ġwith Ġthe Ġ" string []" Ġtype Ġin Ġa ĠNavigation ĠXML Ġfile . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* ĠNull Ġvalues Ġare Ġsupported . ĊĠĠĠĠĠĠĠĠ Ġ* ĠDefault Ġvalues Ġin ĠNavigation ĠXML Ġfiles Ġare Ġnot Ġsupported . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠString ArrayType : ĠNav Type < Array < String >> Ġ= Ġobject Ġ: ĠNav Type < Array < String >>( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" string []" ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġput ( bundle : ĠBundle , Ġkey : ĠString , Ġvalue : ĠArray < String >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . putString Array ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget ( bundle : ĠBundle , Ġkey : ĠString ): ĠArray < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbundle [ key ] Ġas ĠArray < String > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse Value ( value : ĠString ): ĠArray < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException (" Arrays Ġdon 't Ġsupport Ġdefault Ġvalues .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠParcel able Type Ġis Ġused Ġfor Ġpassing ĠParcel ables Ġin Ġ[ Nav Argument ] s . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠNull Ġvalues Ġare Ġsupported . ĊĠĠĠĠ Ġ* ĠDefault Ġvalues Ġin ĠNavigation ĠXML Ġfiles Ġare Ġnot Ġsupported . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtype Ġthe ĠParcel able Ġclass Ġthat Ġis Ġsupported Ġby Ġthis ĠNav Type ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġclass ĠParcel able Type < D >( type : ĠClass < D >) Ġ: ĠNav Type < D >( true ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtype : ĠClass < D > ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġtype . name ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġput ( bundle : ĠBundle , Ġkey : ĠString , Ġvalue : ĠD ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype . cast ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ== Ġnull Ġ|| Ġvalue Ġis ĠParcel able ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Parcelable ( key , Ġvalue Ġas ĠParcel able ?) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( value Ġis ĠSerializable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Serializable ( key , Ġvalue Ġas ĠSerializable ?) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġget ( bundle : ĠBundle , Ġkey : ĠString ): ĠD ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbundle [ key ] Ġas ĠD ? ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠUnsupportedOperationException Ġsince ĠParcel ables Ġdo Ġnot Ġsupport Ġdefault Ġvalues ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġparse Value ( value : ĠString ): ĠD Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException (" Parcel ables Ġdon 't Ġsupport Ġdefault Ġvalues .") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( other Ġ== Ġnull Ġ|| Ġjava Class Ġ!= Ġother . java Class ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthat Ġ= Ġother Ġas ĠParcel able Type < *> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtype Ġ== Ġthat . type ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtype . hashCode () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠConstructs Ġa ĠNav Type Ġthat Ġsupports Ġa Ġgiven ĠParcel able Ġtype . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠParcel able :: class . java . isAssignableFrom ( type ) Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSerializable :: class . java . isAssignableFrom ( type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ Ġ"$ type Ġdoes Ġnot Ġimplement ĠParcel able Ġor ĠSerializable ." Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . type Ġ= Ġtype ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠParcel able ArrayType Ġis Ġused Ġfor Ġ[ Nav Argument ] s Ġwhich Ġhold Ġarrays Ġof ĠParcel ables . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠNull Ġvalues Ġare Ġsupported . ĊĠĠĠĠ Ġ* ĠDefault Ġvalues Ġin ĠNavigation ĠXML Ġfiles Ġare Ġnot Ġsupported . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtype Ġthe Ġtype Ġof ĠParcel able Ġcomponent Ġclass Ġof Ġthe Ġarray ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġclass ĠParcel able ArrayType < D Ġ: ĠParcel able >( type : ĠClass < D >) Ġ: ĠNav Type < Array < D >? >( true ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġarray Type : ĠClass < Array < D >> ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġarray Type . name ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġput ( bundle : ĠBundle , Ġkey : ĠString , Ġvalue : ĠArray < D > ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarray Type . cast ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Parcelable Array ( key , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġget ( bundle : ĠBundle , Ġkey : ĠString ): ĠArray < D >? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbundle [ key ] Ġas ĠArray < D >? ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠUnsupportedOperationException Ġsince ĠArrays Ġdo Ġnot Ġsupport Ġdefault Ġvalues ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġparse Value ( value : ĠString ): ĠArray < D > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException (" Arrays Ġdon 't Ġsupport Ġdefault Ġvalues .") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( other Ġ== Ġnull Ġ|| Ġjava Class Ġ!= Ġother . java Class ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthat Ġ= Ġother Ġas ĠParcel able ArrayType < Parcelable > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġarray Type Ġ== Ġthat . array Type ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġarray Type . hashCode () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠConstructs Ġa ĠNav Type Ġthat Ġsupports Ġarrays Ġof Ġa Ġgiven ĠParcel able Ġtype . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire ( Parcelable :: class . java . isAssignableFrom ( type )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ type Ġdoes Ġnot Ġimplement ĠParcel able ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarray Type : ĠClass < Array < D >> Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass . forName ("[ L ${ type . name }; ") Ġas ĠClass < Array < D >> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠClass NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException ( e ) Ġ// Ġshould Ġnever Ġhappen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . array Type Ġ= Ġarray Type ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSerializable Type Ġis Ġused Ġfor ĠSerializable Ġ[ Nav Argument ] s . ĊĠĠĠĠ Ġ* ĠFor Ġhandling ĠEnums Ġyou Ġmust Ġuse Ġ[ Enum Type ] Ġinstead . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠNull Ġvalues Ġare Ġsupported . ĊĠĠĠĠ Ġ* ĠDefault Ġvalues Ġin ĠNavigation ĠXML Ġfiles Ġare Ġnot Ġsupported . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see ĠEnum Type ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġopen Ġclass ĠSerializable Type < D Ġ: ĠSerializable > Ġ: ĠNav Type < D > Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtype : ĠClass < D > ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġtype . name ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠConstructs Ġa ĠNav Type Ġthat Ġsupports Ġa Ġgiven ĠSerializable Ġtype . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġtype Ġclass Ġthat Ġis Ġa Ġsubtype Ġof ĠSerializable ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġpublic Ġconstructor ( type : ĠClass < D >) Ġ: Ġsuper ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSerializable :: class . java . isAssignableFrom ( type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ Ġ"$ type Ġdoes Ġnot Ġimplement ĠSerializable ." Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire (! type . is Enum ) Ġ{ Ġ"$ type Ġis Ġan ĠEnum . ĠYou Ġshould Ġuse ĠEnum Type Ġinstead ." Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . type Ġ= Ġtype ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinternal Ġconstructor ( nullable Allowed : ĠBoolean , Ġtype : ĠClass < D >) Ġ: Ġsuper ( nullable Allowed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSerializable :: class . java . isAssignableFrom ( type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ Ġ"$ type Ġdoes Ġnot Ġimplement ĠSerializable ." Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . type Ġ= Ġtype ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġput ( bundle : ĠBundle , Ġkey : ĠString , Ġvalue : ĠD ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype . cast ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Serializable ( key , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġget ( bundle : ĠBundle , Ġkey : ĠString ): ĠD ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbundle [ key ] Ġas ĠD ? ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠUnsupportedOperationException Ġsince ĠSerializable s Ġdo Ġnot Ġsupport Ġdefault Ġvalues ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġparse Value ( value : ĠString ): ĠD Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException (" Serializable s Ġdon 't Ġsupport Ġdefault Ġvalues .") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( other Ġ! is ĠSerializable Type <* >) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtype Ġ== Ġother . type ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtype . hashCode () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠEnum Type Ġis Ġused Ġfor Ġ[ Nav Argument ] s Ġholding Ġenum Ġvalues . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠNull Ġvalues Ġare Ġnot Ġsupported . ĊĠĠĠĠ Ġ* ĠTo Ġspecify Ġa Ġdefault Ġvalue Ġin Ġa ĠNavigation ĠXML Ġfile , Ġsimply Ġuse Ġthe Ġenum Ġconstant ĊĠĠĠĠ Ġ* Ġwithout Ġthe Ġclass Ġname , Ġe . g . Ġ` app : defaultValue =" MON DAY " `. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtype Ġthe ĠEnum Ġclass Ġthat Ġis Ġsupported Ġby Ġthis ĠNav Type ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġclass ĠEnum Type < D Ġ: ĠEnum < *> >( ĊĠĠĠĠĠĠĠ Ġtype : ĠClass < D > ĊĠĠĠ Ġ) Ġ: ĠSerializable Type < D >( false , Ġtype ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtype : ĠClass < D > ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġtype . name ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠParse Ġa Ġvalue Ġof Ġthis Ġtype Ġfrom Ġa ĠString . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġstring Ġrepresentation Ġof Ġa Ġvalue Ġof Ġthis Ġtype ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġparsed Ġvalue Ġof Ġthe Ġtype Ġrepresented Ġby Ġthis ĠNav Type ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġif Ġvalue Ġcannot Ġbe Ġparsed Ġinto Ġthis Ġtype ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" RECE IVER _ NULL ABILITY _ MIS MATCH _ BASE D _ ON _ JAVA _ AN NOT ATIONS ") ĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġparse Value ( value : ĠString ): ĠD Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( constant Ġin Ġtype . enum Constants ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(( constant Ġas ĠEnum < *> ). name Ġ== Ġvalue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġconstant ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Enum Ġvalue Ġ$ value Ġnot Ġfound Ġfor Ġtype Ġ${ type . name } ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠConstructs Ġa ĠNav Type Ġthat Ġsupports Ġa Ġgiven ĠEnum Ġtype . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire ( type . is Enum ) Ġ{ Ġ"$ type Ġis Ġnot Ġan ĠEnum Ġtype ." Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . type Ġ= Ġtype ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSerializable ArrayType Ġis Ġused Ġfor Ġ[ Nav Argument ] s Ġthat Ġhold Ġarrays Ġof ĠSerializable s . ĊĠĠĠĠ Ġ* ĠThis Ġtype Ġalso Ġsupports Ġarrays Ġof ĠEnums . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠNull Ġvalues Ġare Ġsupported . ĊĠĠĠĠ Ġ* ĠDefault Ġvalues Ġin ĠNavigation ĠXML Ġfiles Ġare Ġnot Ġsupported . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtype Ġthe ĠSerializable Ġcomponent Ġclass Ġof Ġthe Ġarray ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġclass ĠSerializable ArrayType < D Ġ: ĠSerializable >( type : ĠClass < D >) Ġ: ĊĠĠĠĠĠĠĠ ĠNav Type < Array < D >? >( true ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġarray Type : ĠClass < Array < D >> ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġarray Type . name ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġput ( bundle : ĠBundle , Ġkey : ĠString , Ġvalue : ĠArray < D > ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarray Type . cast ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Serializable ( key , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġget ( bundle : ĠBundle , Ġkey : ĠString ): ĠArray < D >? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbundle [ key ] Ġas ĠArray < D >? ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠUnsupportedOperationException Ġsince ĠArrays Ġdo Ġnot Ġsupport Ġdefault Ġvalues ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġparse Value ( value : ĠString ): ĠArray < D > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException (" Arrays Ġdon 't Ġsupport Ġdefault Ġvalues .") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( other Ġ== Ġnull Ġ|| Ġjava Class Ġ!= Ġother . java Class ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthat Ġ= Ġother Ġas ĠSerializable ArrayType < *> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġarray Type Ġ== Ġthat . array Type ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġarray Type . hashCode () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠConstructs Ġa ĠNav Type Ġthat Ġsupports Ġarrays Ġof Ġa Ġgiven ĠSerializable Ġtype . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSerializable :: class . java . isAssignableFrom ( type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ Ġ"$ type Ġdoes Ġnot Ġimplement ĠSerializable ." Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarray Type : ĠClass < Array < D >> Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass . forName ("[ L ${ type . name }; ") Ġas ĠClass < Array < D >> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠClass NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException ( e ) Ġ// Ġshould Ġnever Ġhappen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . array Type Ġ= Ġarray Type ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ