package Ġk nf . k uma . i ap čĊč Ċ import Ġandroid . net . Uri č Ċ import Ġandroidx . annotation . NonNull č Ċ import Ġcom . app coins . billing . App coins Billing čĊčĊč Ċ object ĠPayload Helper Ġ{ čĊĠĠĠ Ġprivate Ġconst Ġval ĠS CHE ME Ġ= Ġ" app coins " čĊĠĠĠ Ġprivate Ġconst Ġval ĠADDRESS _ PARAMETER Ġ= Ġ" address " čĊĠĠĠ Ġprivate Ġconst Ġval ĠP AY LOAD _ PARAMETER Ġ= Ġ" payload " čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠMethod Ġto Ġbuild Ġthe Ġpayload Ġrequired Ġon Ġthe Ġ[ App coins Billing . get Buy Intent ] Ġmethod . čĊĠĠĠĠ Ġ* Ġ@ param Ġdeveloper Address ĠThe Ġdeveloper 's Ġe thereum Ġaddress čĊĠĠĠĠ Ġ* Ġ@ param Ġdeveloper Payload ĠThe Ġadditional Ġpayload Ġto Ġbe Ġsent čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* Ġ@ return ĠThe Ġfinal Ġdevelopers Ġpayload Ġto Ġbe Ġsent čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġfun Ġbuild Intent Payload (@ NonNull Ġdeveloper Address : ĠString , Ġdeveloper Payload : ĠString ?): ĠString Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠUri . Builder () čĊĠĠĠĠĠĠĠ Ġbuilder . scheme ( SCHEME ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. authority (" app coins . io ") čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append QueryParameter ( ADDRESS _ PARAMETER , Ġdeveloper Address ) čĊĠĠĠĠĠĠĠ Ġif Ġ( developer Payload Ġ!= Ġnull ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append QueryParameter ( PAYLOAD _ PARAMETER , Ġdeveloper Payload ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġreturn Ġbuilder . toString () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠGiven Ġa Ġuri Ġstring Ġvalidate Ġif Ġit Ġis Ġpart Ġof Ġthe Ġexpected Ġscheme Ġand Ġif Ġso Ġreturn Ġthe čĊĠĠĠĠ Ġ* Ġdeveloper 's Ġe thereum Ġaddress . čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* Ġ@ param Ġuri String ĠThe Ġpayload Ġuri Ġcontent čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* Ġ@ return ĠThe Ġdevelopers Ġe thereum Ġaddress čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġfun Ġget Address ( uri String : ĠString ): ĠString ? Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . parse ( uri String ) čĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( uri . scheme . equals ( SCHEME , Ġtrue )) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġuri . getQuery Parameter ( ADDRESS _ PARAMETER ) čĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠGiven Ġa Ġuri Ġstring Ġvalidate Ġif Ġit Ġis Ġpart Ġof Ġthe Ġexpected Ġscheme Ġand Ġif Ġso Ġreturn Ġthe čĊĠĠĠĠ Ġ* Ġaddition Ġpayload Ġcontent . čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* Ġ@ param Ġuri String ĠThe Ġpayload Ġuri Ġcontent čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* Ġ@ return ĠThe Ġadditional Ġpayload Ġcontent čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġfun Ġget Payload ( uri String : ĠString ): ĠString Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . parse ( uri String ) čĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( uri . scheme . equals ( SCHEME , Ġtrue )) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġuri . getQuery Parameter ( PAYLOAD _ PARAMETER ) Ġ?: Ġ"" čĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ }