package Ġcom . c ak ew allet . mon ero Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . os . AsyncTask Ċ import Ġandroid . os . Looper Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Process ĠĊ Ċ import Ġio . flutter . plugin . common . MethodCall Ċ import Ġio . flutter . plugin . common . Method Channel Ċ import Ġio . flutter . plugin . common . Method Channel . MethodCall Handler Ċ import Ġio . flutter . plugin . common . Method Channel . Result Ċ import Ġio . flutter . plugin . common . Plugin Registry . Registrar Ċ Ċ class Ġdo Async ( val Ġhandler : Ġ() Ġ-> ĠUnit ) Ġ: ĠAsync Task < Void , ĠVoid , ĠVoid >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġdo In Background ( var arg Ġparams : ĠVoid ?): ĠVoid ? Ġ{ ĊĠĠĠĠĠĠĠ ĠProcess . set Thread Priority ( Process . THREAD _ PRIORITY _ AUDIO ); ĊĠĠĠĠĠĠĠ Ġhandler () ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠC w Mon ero Plugin : ĠMethod Call Handler Ġ{ ĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġval Ġmon ero Api Ġ= ĠMon ero Api () ĊĠĠĠ Ġval Ġmain Ġ= ĠHandler ( Looper . get Main Looper ()); ĊĊĠĠĠ Ġinit Ġ{ ĠĠĊĠĠĠĠĠ ĠSystem . load Library (" cw _ mon ero ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġregister With ( regist rar : ĠRegist rar ) Ġ{ ĊĠĠĠĠĠ Ġval Ġchannel Ġ= ĠMethod Channel ( regist rar . messenger (), Ġ" cw _ mon ero ") ĊĠĠĠĠĠ Ġchannel . set MethodCall Handler ( Cw Mon ero Plugin ()) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon MethodCall ( call : ĠMethod Call , Ġresult : ĠResult ) Ġ{ ĊĠĠĠ Ġif Ġ( call . method Ġ== Ġ" setup Node ") Ġ{ ĊĠĠĠĠĠ Ġval Ġuri Ġ= Ġcall . argument (" address ") Ġ?: Ġ"" ĊĠĠĠĠĠ Ġval Ġlogin Ġ= Ġcall . argument (" login ") Ġ?: Ġ"" ĊĠĠĠĠĠ Ġval Ġpassword Ġ= Ġcall . argument (" password ") Ġ?: Ġ"" ĊĠĠĠĠĠ Ġval Ġuse SSL Ġ= Ġfalse ĊĠĠĠĠĠ Ġval Ġis Light Wallet Ġ= Ġfalse ĊĠĠĠĠĠ Ġdo Async Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġmon ero Api . set Node Address JNI ( uri , Ġlogin , Ġpassword , Ġuse SSL , Ġis Light Wallet ) ĊĠĠĠĠĠĠĠĠĠ Ġmain . post ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠĠĠ Ġ}); ĊĠĠĠĠĠĠĠ Ġ} Ġcatch ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġmain . post ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . error (" CONNECTION _ ERROR ", Ġe . message , Ġnull ) ĊĠĠĠĠĠĠĠĠĠ Ġ}); ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ}. execute () ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( call . method Ġ== Ġ" start Sync ") Ġ{ ĊĠĠĠĠĠ Ġdo Async Ġ{ ĊĠĠĠĠĠĠĠ Ġmon ero Api . start Sync JNI () ĊĠĠĠĠĠĠĠ Ġmain . post ({ ĊĠĠĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠĠĠĠĠ Ġ}); ĊĠĠĠĠĠ Ġ}. execute () ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( call . method Ġ== Ġ" load Wallet ") Ġ{ ĊĠĠĠĠĠ Ġval Ġpath Ġ= Ġcall . argument (" path ") Ġ?: Ġ"" ĊĠĠĠĠĠ Ġval Ġpassword Ġ= Ġcall . argument (" password ") Ġ?: Ġ"" ĊĠĠĠĠĠ Ġmon ero Api . load Wallet JNI ( path , Ġpassword ) ĊĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ