package Ġcom . example . ra as card tokenizer and roi dex ample Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . p ange a . ra as . data . models . Card Information Ċ import Ġcom . p ange a . ra as . data . models . Token Response Ċ import Ġcom . p ange a . ra as . domain . CallBack Ċ import Ġcom . p ange a . ra as . domain . P ange a Ċ import Ġcom . p ange a . ra as . domain . P ange a . Environment Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ Ċ private Ġconst Ġval ĠTAG Ġ= Ġ" MainActivity " Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm P ange a : ĠP ange a ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġset UI () ĊĠĠĠĠĠĠĠ Ġset Listeners () ĊĠĠĠĠĠĠĠ Ġm P ange a Ġ= ĠP ange a . create Session ( context Ġ= Ġapplication Context , Ġdebug Info Ġ= Ġtrue , Ġp ange a Session ID Ġ= Ġ" 4 2 5 4 3 7 2 3 8 3 8 3 4 ", environment Ġ= Ġ ĠEnvironment . INTEGR ATION ) ĊĠĠĠĠĠĠĠ Ġdisplay Session ( m P ange a ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Listeners (){ ĊĠĠĠĠĠĠĠ Ġset Token Button () ĊĠĠĠĠĠĠĠ Ġset Get Client Button () ĊĠĠĠĠĠĠĠ Ġset Go To Java Button () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdisplay Session ( p ange a : ĠP ange a ){ ĊĠĠĠĠĠĠĠ Ġsession ID Tv . text Ġ= Ġp ange a . getSession Id () ĊĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" display Session : Ġ${ p ange a . getSession Id () }") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Token Button (){ ĊĠĠĠĠĠĠĠ ĠgetToken Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoken . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Token () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Get Client Button (){ ĊĊĠĠĠĠĠĠĠ ĠgetData Client Base 6 4 . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Client Base 6 4 . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Session Client ( m P ange a ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Go To Java Button (){ ĊĠĠĠĠĠĠĠ Ġgo To Java . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgo To Java () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġcreate Token (){ ĊĠĠĠĠĠĠĠ Ġval Ġcard Information Ġ= ĠCard Information ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠpublicKey Ġ= ĠpublicKey . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpartner Identifier Ġ= ĠTenant . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcard Number Ġ= Ġcard Number . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcv v Ġ= Ġcv v . text . toString ()) ĊĠĠĠĠĠĠĠ Ġm P ange a . create Token ( card Information , Ġobject Ġ: ĠCall Back < Token Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( result : ĠToken Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" on Response : ĠThe Ġtoken Ġis ; Ġ${ result . token }" Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoken . text Ġ= Ġresult . token ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( result : ĠToken Response , Ġthrowable : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" on Response : ĠThe Ġtoken Ġis ; Ġ${ result . token }" Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" the Ġerror Ġis Ġ${ throwable ?. localized Message }" Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoken . text Ġ= Ġ"${ result ?. token } Ġ, Ġ${ throwable ?. localized Message } Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset UI (){ ĊĠĠĠĠĠĠĠ Ġset PublicKey () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset PublicKey (){ ĊĠĠĠĠĠĠĠ ĠpublicKey . setText (" WRITE ĠOUT ĠHERE ĠYOUR ĠPUBLIC ĠKEY ") ĊĠĠĠĠĠĠĠ Ġ// Example Ġformat Ġfor Ġpublic Ġkey : ĊĠĠĠĠĠĠĠ Ġ// publicKey . setText (" MI IB Ij AN Bg k qh ki G 9 w 0 BA QE FA AO CA Q 8 B MI IB Cg K CA QE As 4 s A 7 k SY b 7 ob Zp jp B 5 6 + RB 0 hc W 7 v 0 pv Cv Fq el 1 E sb Pi D 8 b WX Uq 4 sf Z 3 c E Zl CH gcd C 8 Uc xF MAY BQ x KU Re VV 9 T UM k MF LE d Z KJ 2 K na WY BX 0 1 tq R ftp WA ML h S + Ic Xn q 9 0 2 Act CT / o 5 r N rm 0 b NL Q Mu q NF v BG J Gz X TA ub j GM w A br 5 Cz xm Yh WW 2 4 6 Od 4 / y XS ZE 0 v 3 d R lj M + A OF c 5 m L 3 tf 0 TE QO X DY f Y H vq / 6 yo z ony A 3 Ny Zp / Br sa + SX Q Fi Co ZW tv UZ DF K SM nx Gw W 2 d EA hh g MD x MU UL va Xo Rs R ca G qg Sm v 2 k Sf 9 A AG FE gd M / pe W TO l MQ D / mB Vm 1 Pq 5 Lz 0 PL s Z mf MI iB 0 v 4 O ww ID AQ AB ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Session Client ( p ange a : ĠP ange a ){ ĊĠĠĠĠĠĠĠ Ġp ange a . getClient Data ( object Ġ: CallBack < String >{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( client Info : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( client Info ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Client Base 6 4 . text Ġ= Ġclient Info ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( result : ĠString , Ġthrowable : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Client Base 6 4 . text Ġ= Ġ" error " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" getting Ġ 6 4 Ġencoded Ġ Ġfailed : Ġ${ throwable ?. localized Message }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgo To Java (){ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= Ġ ĠIntent ( this , ĠMainActivity Java :: class . java ) ĊĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ