package Ġcom . h ong tang . easy tb k Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . Toast Ċ import Ġcom . ali . auth . third . core . Member SDK Ċ import Ġcom . alibaba . ba ich uan . android . trade . A libc Trade Ċ import Ġcom . alibaba . ba ich uan . android . trade . A libc Trade SDK Ċ import Ġcom . alibaba . ba ich uan . android . trade . callback . A libc Trade Callback Ċ import Ġcom . alibaba . ba ich uan . android . trade . callback . A libc Trade Init Callback Ċ import Ġcom . alibaba . ba ich uan . android . trade . model . A libc Show Params Ċ import Ġcom . alibaba . ba ich uan . android . trade . model . Open Type Ċ import Ġcom . alibaba . ba ich uan . android . trade . page . A libc Base Page Ċ import Ġcom . alibaba . ba ich uan . android . trade . page . A libc Detail Page Ċ import Ġcom . alibaba . ba ich uan . android . trade . page . A libc Page Ċ import Ġcom . alibaba . ba ich uan . trade . biz . A libc Trade Biz Ċ import Ġcom . alibaba . ba ich uan . trade . biz . appl ink . adapter . A libc Fail Mode Type Ċ import Ġcom . alibaba . ba ich uan . trade . biz . context . A libc Result Type Ċ import Ġcom . alibaba . ba ich uan . trade . biz . context . A libc Trade Result Ċ import Ġcom . alibaba . ba ich uan . trade . biz . core . ta o ke . A libc T ao ke Params Ċ import Ġcom . alibaba . ba ich uan . trade . common . A libc Trade Common Ċ import Ġio . flutter . plugin . common . MethodCall Ċ import Ġio . flutter . plugin . common . Method Channel Ċ import Ġio . flutter . plugin . common . Plugin Registry ĊĊ Ċ internal Ġclass ĠTrade Handler ( private Ġval Ġregistry : ĠPlugin Registry . Registrar ) Ġ{ ĊĠĠĠ Ġfun Ġinit Trade Async ( call : ĠMethod Call , Ġresult : ĠMethod Channel . Result ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġversion Ġ= Ġcall . argument < String ?> (" version ") ĊĠĠĠĠĠĠĠ Ġif Ġ(! version . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA libc Trade SDK . set IS V Version ( version ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġdebug gable Ġ= Ġcall . argument (" debug gable ") Ġ?: Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( debug gable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA libc Trade Common . turn On Debug () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA libc Trade Biz . turn On Debug () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMember SDK . turn On Debug () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA libc Trade Common . turn Off Debug () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA libc Trade Biz . turn Off Debug () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMember SDK . turn On Debug () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// çĶµ åķĨ SDK åĪĿå§ĭåĮĸ ĊĠĠĠĠĠĠĠ ĠA libc Trade SDK . async Init ( registry . activity (). application , Ġobject Ġ: ĠA libc Trade Init Callback Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Platform Ġto Ġkey Android , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Result Ġto Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult (@ { na util us Key Platform : Ġna util us Key IOS , Ġna util us Key Result : Ġ@ NO , Ġna util us Key ErrorCode : Ġ@( error . code ), na util us Key ErrorMessage : Ġerror . description }); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( code : ĠInt , Ġmsg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Platform Ġto Ġkey Android , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Result Ġto Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey ErrorCode Ġto Ġcode , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey ErrorMessage Ġto Ġmsg ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdestroy () Ġ{ ĊĠĠĠĠĠĠĠ ĠA libc Trade SDK . dest ory () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġopen Item Detail ( call : ĠMethod Call , Ġresult : ĠMethod Channel . Result ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem ID Ġ= Ġcall . argument < String ?> (" item ID ") ĊĠĠĠĠĠĠĠ Ġopen By Page ( A libc Detail Page ( item ID ), Ġcall , Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġopen Url ( call : ĠMethod Call , Ġresult : ĠMethod Channel . Result ){ ĊĠĠĠĠĠĠĠ Ġval Ġpage Url Ġ= Ġcall . argument < String ?> (" page Url ") ĊĠĠĠĠĠĠĠ Ġopen By Page ( A libc Page ( page Url ), Ġcall , Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen By Page ( page : ĠA libc Base Page , Ġcall : ĠMethod Call , Ġresult : ĠMethod Channel . Result ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġopen ResultCode Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġval Ġtrade Callback Ġ= Ġobject Ġ: ĠA libc Trade Callback Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Trade Success ( trade Result : ĠA libc Trade Result ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( trade Result Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" open ResultCode " Ġto Ġopen ResultCode , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Platform Ġto Ġkey Android , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Result Ġto Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey ErrorCode Ġto Ġ- 9 9 9 9 9 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey ErrorMessage Ġto Ġ" trade Result Ġis Ġnull " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrade Result . result Type Ġ== ĠA libc Result Type . TYPE PAY Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" open ResultCode " Ġto Ġopen ResultCode , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Platform Ġto Ġkey Android , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Result Ġto Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" trade Result Type " Ġto Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" pay Success Orders " Ġto Ġtrade Result . pay Result . pay Failed Orders , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" pay Failed Orders " Ġto Ġtrade Result . pay Result . pay Failed Orders ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrade Result . result Type Ġ== ĠA libc Result Type . TYPE C ART Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" open ResultCode " Ġto Ġopen ResultCode , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Platform Ġto Ġkey Android , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Result Ġto Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" trade Result Type " Ġto Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" open ResultCode " Ġto Ġopen ResultCode , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Platform Ġto Ġkey Android , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Result Ġto Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" trade Result Type " Ġto Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( code : ĠInt , Ġmessage : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" open ResultCode " Ġto Ġopen ResultCode , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Platform Ġto Ġkey Android , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Result Ġto Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey ErrorCode Ġto Ġcode , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey ErrorMessage Ġto Ġmessage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġopen ResultCode Ġ= ĠA libc Trade . show ( registry . activity (), Ġpage , Ġbuild Show Params ( call ), Ġbuild T ao Ke Params ( call ), Ġcall . argument < Map < String , ĠString > ?> (" ext Params "), Ġtrade Callback ) ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġbuild T ao Ke Params ( call : ĠMethod Call ): ĠA libc T ao ke Params ? Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġt ao Ke : ĠA libc T ao ke Params ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġt ao Ke Params Ġ= Ġcall . argument < Map < String , ĠAny ?> ?> (" ta o Ke Params "); ĊĠĠĠĠĠĠĠ Ġif Ġ( ta o Ke Params Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt ao Ke Ġ= ĠA libc T ao ke Params () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt ao Ke . pid Ġ= Ġt ao Ke Params [" ta o Ke Params Pid "] ?. toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt ao Ke . sub Pid Ġ= Ġt ao Ke Params [" ta o Ke Params Sub Pid "] ?. toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt ao Ke . union Id Ġ= Ġt ao Ke Params [" ta o Ke Params Union Id "] ?. toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt ao Ke . ad zone id Ġ= Ġt ao Ke Params [" ta o Ke Params Ad zone Id "] ?. toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt ao Ke . extra Params Ġ= Ġif Ġ( ta o Ke Params [" ta o Ke Params Ext Params "] Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt ao Ke Params [" ta o Ke Params Ext Params "] Ġas ĠHashMap < String , ĠString > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty Map () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġt ao Ke ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbuild Show Params ( call : ĠMethod Call ): ĠA libc Show Params Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġopen Type Ġ= Ġcall . argument (" open Type ") Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠ Ġval Ġal ib c Show Params Ġ= ĠA libc Show Params ( int To Open Type ( open Type ), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġal ib c Show Params . back Url Ġ= Ġcall . argument < String ?> (" back Url ") ĊĠĠĠĠĠĠĠ Ġal ib c Show Params . client Type Ġ= Ġcall . argument (" scheme Type ") Ġ?: Ġ" tm all _ scheme " ĊĠĠĠĠĠĠĠ Ġval Ġopen Failed Mode Ġ= Ġcall . argument (" open Native Failed Mode ") Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠ Ġal ib c Show Params . native Open Failed Mode Ġ= Ġint To Failed Mode ( open Failed Mode ) ĊĠĠĠĠĠĠĠ Ġreturn Ġal ib c Show Params ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġint To Open Type ( type : ĠInt ): ĠOpen Type Ġ= Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠ 1 Ġ-> ĠOpen Type . Native ĊĠĠĠĠĠĠĠĠ 2 Ġ-> ĠOpen Type . H 5 ĊĠĠĠĠĠĠĠ Ġelse Ġ-> ĠOpen Type . Auto ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġint To Failed Mode ( type : ĠInt ) Ġ= Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠ 1 Ġ-> ĠA libc Fail Mode Type . A libc Native Fail Mode Jump DOWNLOAD ĊĠĠĠĠĠĠĠĠ 2 Ġ-> ĠA libc Fail Mode Type . A libc Native Fail Mode Jump BROW ER ĊĠĠĠĠĠĠĠĠ 3 Ġ-> ĠA libc Fail Mode Type . A libc Native Fail Mode NONE ĊĠĠĠĠĠĠĠ Ġelse Ġ-> ĠA libc Fail Mode Type . A libc Native Fail Mode NONE ĊĠĠĠ Ġ} Ċ } ĊĊĊĊĊĊĊĊ