package Ġcom . stripe . android . model . wallet s Ċ Ċ import Ġcom . stripe . android . model . Stripe Json Utils . opt String Ċ import Ġkotlinx . android . parcel . Parcel ize Ċ import Ġorg . json . JSONObject Ċ Ċ @ Parcel ize Ċ data Ġclass ĠVis a Checkout Wallet Ġinternal Ġconstructor ( ĊĠĠĠ Ġval Ġbilling Address : ĠAddress ?, ĊĠĠĠ Ġval Ġemail : ĠString ?, ĊĠĠĠ Ġval Ġname : ĠString ?, ĊĠĠĠ Ġval Ġshipping Address : ĠAddress ?, ĊĠĠĠ Ġval Ġdynamic Last 4 : ĠString ? Ċ ) Ġ: ĠWallet ( Type . Vis a Checkout ) Ġ{ ĊĊĠĠĠ Ġinternal Ġclass ĠBuilder Ġ: ĠWallet . Builder < Vis a Checkout Wallet >() Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġbilling Address : ĠAddress ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġemail : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġname : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġshipping Address : ĠAddress ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġfun Ġset Billing Address ( billing Address : ĠAddress ?): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . billing Address Ġ= Ġbilling Address ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġset Email ( email : ĠString ?): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . email Ġ= Ġemail ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun ĠsetName ( name : ĠString ?): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . name Ġ= Ġname ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġset Shipping Address ( shipping Address : ĠAddress ?): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . shipping Address Ġ= Ġshipping Address ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġbuild (): ĠVis a Checkout Wallet Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠVis a Checkout Wallet ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbilling Address Ġ= Ġbilling Address , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail Ġ= Ġemail , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġname , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshipping Address Ġ= Ġshipping Address , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdynamic Last 4 Ġ= Ġdynamic Last 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠFIELD _ B ILL ING _ ADDRESS Ġ= Ġ" billing _ address " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠFIELD _ EMAIL Ġ= Ġ" email " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠFIELD _ NAME Ġ= Ġ" name " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠFIELD _ SHIP PING _ ADDRESS Ġ= Ġ" shipping _ address " ĊĊĠĠĠĠĠĠĠ Ġinternal Ġfun Ġfrom Json ( wallet : ĠJSONObject ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Billing Address ( Address . fromJson ( wallet . opt JSONObject ( FIELD _ B ILL ING _ ADDRESS ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Email ( opt String ( wallet , ĠFIELD _ EMAIL )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setName ( opt String ( wallet , ĠFIELD _ NAME )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Shipping Address ( Address . fromJson ( wallet . opt JSONObject ( FIELD _ SHIP PING _ ADDRESS ))) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ