package Ġcom . react nat iven avigation . options Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . react nat iven avigation . options . params . Colour Ċ import Ġcom . react nat iven avigation . options . params . Fraction Ċ import Ġcom . react nat iven avigation . options . params . Null Color Ċ import Ġcom . react nat iven avigation . options . params . Null Fraction Ċ import Ġcom . react nat iven avigation . options . parsers . Color Parser Ċ import Ġcom . react nat iven avigation . options . parsers . Fraction Parser Ċ import Ġorg . json . JSONObject ĊĊ Ċ fun Ġparse Shadow Options ( context : ĠContext ?, Ġshadow Json : ĠJSONObject ?): ĠShadow Options Ġ= Ġshadow Json ?. let Ġ{ Ġjson Ġ-> ĊĠĠĠ ĠShadow Options ( Color Parser . parse ( context , Ġjson , Ġ" color "), ĠFraction Parser . parse ( json , Ġ" radius "), ĠFraction Parser . parse ( json , Ġ" opacity ")) Ċ } Ġ?: ĠNull Shadow Options Ċ Ċ object ĠNull Shadow Options Ġ: ĠShadow Options () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġhas Value (): ĠBoolean Ġ= Ġfalse Ċ } Ċ Ċ open Ġclass ĠShadow Options ( var Ġcolor : ĠColour Ġ= ĠNull Color (), Ġvar Ġradius : ĠFraction Ġ= ĠNull Fraction (), Ġvar Ġopacity : ĠFraction Ġ= ĠNull Fraction ()) Ġ{ ĊĊĠĠĠ Ġfun Ġcopy (): ĠShadow Options Ġ= ĠShadow Options ( this . color , Ġthis . radius , Ġthis . opacity ) ĊĊĠĠĠ Ġfun Ġmerge With ( other : ĠShadow Options ): ĠShadow Options Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( other . color . hasValue ()) Ġthis . color Ġ= Ġother . color ĊĠĠĠĠĠĠĠ Ġif Ġ( other . opacity . hasValue ()) Ġthis . opacity Ġ= Ġother . opacity ĊĠĠĠĠĠĠĠ Ġif Ġ( other . radius . hasValue ()) Ġthis . radius Ġ= Ġother . radius ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmerge With Defaults ( default Options : ĠShadow Options Ġ= ĠNull Shadow Options ): ĠShadow Options Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! this . color . hasValue ()) Ġthis . color Ġ= Ġdefault Options . color ĊĠĠĠĠĠĠĠ Ġif Ġ(! this . opacity . hasValue ()) Ġthis . opacity Ġ= Ġdefault Options . opacity ĊĠĠĠĠĠĠĠ Ġif Ġ(! this . radius . hasValue ()) Ġthis . radius Ġ= Ġdefault Options . radius ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġhas Value () Ġ= Ġcolor . hasValue () Ġ|| Ġradius . hasValue () Ġ|| Ġopacity . hasValue () Ċ }