package Ġcom . world pay . access . checkout . session . handlers Ċ Ċ import Ġandroid . content . Intent Ċ import Ġcom . world pay . access . checkout . api . discovery . Discover Links Ċ import Ġcom . world pay . access . checkout . client . session . model . Card Details Ċ import Ġcom . world pay . access . checkout . client . session . model . Session Type Ċ import Ġcom . world pay . access . checkout . client . session . model . Session Type . CV C Ċ import Ġcom . world pay . access . checkout . session . api . Session Request Service Ċ import Ġcom . world pay . access . checkout . session . api . request . C vc Session Request Ċ import Ġcom . world pay . access . checkout . session . api . request . Session Request Info Ċ import Ġcom . world pay . access . checkout . util . Property Validation Util . validate NotNull Ċ Ċ /** Ċ Ġ* Ġ[ C vc Session RequestHandler ] Ġis Ġresponsible Ġfor Ġhandling Ġrequests Ġfor Ġa Ġ[ CV C ] Ċ Ġ* Ċ Ġ* Ġ@ property Ġsession RequestHandler Config ĠThe Ġ[ Session RequestHandler Config ] Ġthat Ġshould Ġbe Ġused Ġto Ġretrieve Ġrequest Ġinformation Ċ Ġ*/ Ċ internal Ġclass ĠC vc Session RequestHandler ( ĊĠĠĠ Ġprivate Ġval Ġsession RequestHandler Config : ĠSession RequestHandler Config Ċ ) Ġ: ĠSession RequestHandler Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns ĠTrue Ġif Ġthe Ġlist Ġcontains Ġa Ġ[ CV C ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġsession Types ĠA Ġ[ List ] Ġof Ġ[ Session Type ] Ġrequested ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġcan Handle ( session Types : ĠList < Session Type >): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsession Types . contains ( CV C ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠValid ates Ġthat Ġthe Ġmandatory Ġfields Ġfor Ġthis Ġ[ Session Type ] Ġare Ġpresent ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcard Details Ġ[ Card Details ] Ġobject Ġcontaining Ġc vc ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġhandle ( card Details : ĠCard Details ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvalidate NotNull ( card Details . cv c , Ġ" cv c ") ĊĊĠĠĠĠĠĠĠ Ġcard Details . cv c Ġas ĠString ĊĊĠĠĠĠĠĠĠ Ġval Ġc vc Session Request Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠC vc Session Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcard Details . cv c , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsession RequestHandler Config . get Merchant Id () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġservice Intent Ġ= ĠIntent ( session RequestHandler Config . getContext (), ĠSession Request Service :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġval Ġsession Request Info Ġ= ĠSession Request Info . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( session RequestHandler Config . get BaseUrl ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. request Body ( cv c Session Request ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. session Type ( CV C ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. discover Links ( Discover Links . sessions ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġservice Intent . putExtra ( Session Request Service . REQUEST _ KEY , Ġsession Request Info ) ĊĊĠĠĠĠĠĠĠ Ġsession RequestHandler Config . getContext (). start Service ( service Intent ) ĊĠĠĠ Ġ} Ċ } Ċ