package Ġcom . str atag ile . q link . ui . activity . ot c . presenter Ċ import Ġandroid . support . annotation . NonNull Ċ import Ġcom . socks . library . K Log Ċ import Ġcom . str atag ile . q link . Account Ċ import Ġcom . str atag ile . q link . api . Http Observer Ċ import Ġcom . str atag ile . q link . api . transaction . Send CallBack Ċ import Ġcom . str atag ile . q link . application . AppConfig Ċ import Ġcom . str atag ile . q link . constant . Constant Value Ċ import Ġcom . str atag ile . q link . data . Neo CallBack Ċ import Ġcom . str atag ile . q link . data . UT XO Ċ import Ġcom . str atag ile . q link . data . UT X OS Ċ import Ġcom . str atag ile . q link . data . api . Http API Wrapper Ċ import Ġcom . str atag ile . q link . db . Buy Sell Buy Todo Ċ import Ġcom . str atag ile . q link . db . Buy Sell Buy Todo Dao Ċ import Ġcom . str atag ile . q link . entity . Assets Warp per Ċ import Ġcom . str atag ile . q link . entity . Base Back Ċ import Ġcom . str atag ile . q link . entity . Neo Transfer Ċ import Ġcom . str atag ile . q link . entity . Neo Wallet Info Ċ import Ġcom . str atag ile . q link . ui . activity . ot c . contract . O tc Neo Chain Pay Contract Ċ import Ġcom . str atag ile . q link . ui . activity . ot c . O tc Neo Chain Pay Activity Ċ import Ġcom . str atag ile . q link . utils . Account Util Ċ import Ġcom . str atag ile . q link . utils . tx utils . model . core . Transaction Ċ import Ġcom . str atag ile . q link . utils . tx utils . model . util . Model Util Ċ import Ġio . reactivex . Observer Ċ import Ġjavax . inject . Inject Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ import Ġio . reactivex . functions . Action Ċ import Ġio . reactivex . functions . Consumer Ċ import Ġjava . nio . ByteBuffer Ċ Ċ /** Ċ Ġ* Ġ@ author Ġh zp Ċ Ġ* Ġ@ Package Ġcom . str atag ile . q link . ui . activity . ot c Ċ Ġ* Ġ@ Description : Ġpresenter Ġof ĠO tc Neo Chain Pay Activity Ċ Ġ* Ġ@ date Ġ 2 0 1 9 / 0 8 / 2 1 Ġ 1 5 : 0 7 : 0 5 Ċ Ġ*/ Ċ class ĠO tc Neo Chain Pay Presenter Ġ@ Inject Ċ constructor ( internal Ġvar Ġhttp API Wrapper : ĠHttp API Wrapper , Ġprivate Ġval Ġm View : ĠO tc Neo Chain Pay Contract . View ) Ġ: ĠO tc Neo Chain Pay Contract . O tc Neo Chain Pay Contract Presenter Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġm Composite Disposable : ĠComposite Disposable ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġm Composite Disposable Ġ= ĠComposite Disposable () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsubscribe () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġunsubscribe () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! m Composite Disposable . is Disposed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Composite Disposable . dispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Neo Wallet Detail ( map : ĠHashMap < String , ĠString >, Ġaddress : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdis posable Ġ= Ġhttp API Wrapper . get Neo Wallet Info ( map ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġbase Back Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// is Suc ces se Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Neo Tokens Info ( base Back ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View . set Neo Detail ( base Back ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget U tx o ( address ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// onComplete ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠK Log . i (" onComplete ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm Composite Disposable . add ( dis posable ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġsend Row ( tx id : ĠString , Ġtrade OrderId Ġ: ĠString , Ġmap : ĠHashMap < String , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Composite Disposable . add ( http API Wrapper . neo Token Transaction ( map ). subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmark As Paid ( tx id , Ġtrade OrderId ) ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ}) Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmark As Paid ( tx id Ġ: ĠString , Ġtrade OrderId : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġmap Ġ= Ġhash Map Of < String , ĠString >() ĊĠĠĠĠĠĠĠ Ġmap [" account "] Ġ= ĠConstant Value . currentUser . account ĊĠĠĠĠĠĠĠ Ġmap [" token "] Ġ= ĠAccount Util . getUser Token () ĊĠĠĠĠĠĠĠ Ġmap [" trade OrderId "] Ġ= Ġtrade OrderId ĊĠĠĠĠĠĠĠ Ġmap [" tx id "] Ġ= Ġtx id ĊĠĠĠĠĠĠĠ Ġhttp API Wrapper . trade Buyer Confirm ( map ). subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm View . send Us dt Success ( tx id ) ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm View . close Progress Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBu y Sell Buy Todo . create Buy Sell Buy Todo ( map ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsys back Up ( tx id , Ġ" TRA DE _ ORDER ", Ġ"", Ġ"", Ġ"") ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm View . close Progress Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBu y Sell Buy Todo . create Buy Sell Buy Todo ( map ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsys back Up ( tx id , Ġ" TRA DE _ ORDER ", Ġ"", Ġ"", Ġ"") ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsys back Up ( tx id : ĠString , Ġtype : ĠString , Ġchain : ĠString , Ġtoken Name : ĠString , Ġamount : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinfo Map Ġ= Ġjava . util . HashMap < String , ĠAny >() ĊĠĠĠĠĠĠĠ Ġinfo Map [" account "] Ġ= ĠConstant Value . currentUser . account ĊĠĠĠĠĠĠĠ Ġinfo Map [" token "] Ġ= ĠAccount Util . getUser Token () ĊĠĠĠĠĠĠĠ Ġinfo Map [" type "] Ġ= Ġtype ĊĠĠĠĠĠĠĠ Ġinfo Map [" chain "] Ġ= Ġchain ĊĠĠĠĠĠĠĠ Ġinfo Map [" token Name "] Ġ= Ġtoken Name ĊĠĠĠĠĠĠĠ Ġinfo Map [" amount "] Ġ= Ġamount ĊĠĠĠĠĠĠĠ Ġinfo Map [" platform "] Ġ= Ġ" Android " ĊĠĠĠĠĠĠĠ Ġinfo Map [" tx id "] Ġ= Ġtx id ĊĠĠĠĠĠĠĠ Ġhttp API Wrapper . sys Back Up ( info Map ). subscribe ( object Ġ: ĠHttp Observer < Base Back <* >>() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Next ( base Back : ĠBase Back <* >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonComplete () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġlist Ġ= ĠApp Config . instance . dao Session . buy Sell Buy Todo Dao . query Builder (). where ( Buy Sell Buy Todo Dao . Properties . Tx id . eq ( tx id )). list () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( list . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Config . instance . dao Session . buy Sell Buy Todo Dao . delete ( list [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ äº¤æĺĵ id çļĦæĸ¹æ³ķ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġhex Ġsend row çļĦåıĤæķ° ï¼Į ä¸Ģ ä¸² å¾Ī éķ¿ çļĦåıĤæķ° ĊĠĠĠĠ Ġ* Ġ@ return Ġè¿ĶåĽŀ è¯¥ ç¬Ķ äº¤æĺĵ çļĦ id ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġget Tx id ( hex : ĠString ): ĠTransaction Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġba : ĠByteArray ĊĠĠĠĠĠĠĠ Ġba Ġ= ĠModel Util . decode Hex ( hex ) ĊĠĠĠĠĠĠĠ Ġreturn ĠTransaction ( ByteBuffer . wrap ( ba )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġassets : ĠU TX OS ? Ġ= Ġnull ĊĠĠĠ Ġfun Ġget U tx o ( address : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmap Ġ= Ġjava . util . HashMap < String , ĠString >() ĊĠĠĠĠĠĠĠ Ġmap [" address "] Ġ= Ġaddress ĊĠĠĠĠĠĠĠ Ġval Ġdis posable Ġ= Ġhttp API Wrapper . get Main Un spent Asset ( map ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġun spent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// is Suc ces se ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠK Log . i (" on Suc ces se ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġut x os Ġ= ĠarrayOf Null s < UT XO >( un spent . data . size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassets Ġ= ĠU TX OS ( un spent . data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassets . copy ( un spent . getData ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ Ġthrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// onError ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠK Log . i (" onError ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrowable . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// onComplete ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠK Log . i (" onComplete ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm Composite Disposable . add ( dis posable ) ĊĠĠĠ Ġ} Ċ Ċ }