package Ġcom . ge etest . gt _ one login _ flutter _ plugin Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Log Ċ import Ġcom . ge etest . common . support . NonNull Ċ import Ġcom . ge etest . one login . One Login Helper Ċ import Ġcom . ge etest . one login . listener . Abstract One Login Listener Ċ import Ġio . flutter . embedding . engine . plugins . Flutter Plugin Ċ 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 Ġorg . json . JSONObject ĊĊ Ċ /** ĠG t One login Flutter Plugin Ġ*/ Ċ class ĠG t One login Flutter Plugin : ĠFlutter Plugin , ĠMethod Call Handler Ġ{ ĊĠ Ġ/// ĠThe ĠMethod Channel Ġthat Ġwill Ġthe Ġcommunication Ġbetween ĠFlutter Ġand Ġnative ĠAndroid ĊĠ Ġ/// ĊĠ Ġ/// ĠThis Ġlocal Ġreference Ġserves Ġto Ġregister Ġthe Ġplugin Ġwith Ġthe ĠFlutter ĠEngine Ġand Ġunregister Ġit ĊĠ Ġ/// Ġwhen Ġthe ĠFlutter ĠEngine Ġis Ġdet ached Ġfrom Ġthe ĠActivity ĊĠ Ġprivate Ġlateinit Ġvar Ġchannel : ĠMethod Channel ĊĠ Ġprivate Ġlateinit Ġvar ĠmContext : ĠContext ĊĠ Ġprivate Ġval Ġtag Ġ= Ġ"| ĠGe etest Ġ| ĠAndroid Ġ| Ġ" ĊĊĠ Ġoverride Ġfun Ġon Attached To Engine (@ NonNull Ġflutter Plugin Binding : ĠFlutter Plugin . Flutter Plugin Binding ) Ġ{ ĊĠĠĠ Ġchannel Ġ= ĠMethod Channel ( flutter Plugin Binding . binary Messenger , ĠConstant . method Channel ) ĊĠĠĠ Ġchannel . set MethodCall Handler ( this ) ĊĠĠĠ ĠmContext Ġ= Ġflutter Plugin Binding . application Context ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon MethodCall (@ NonNull Ġcall : ĠMethod Call , Ġ@ NonNull Ġresult : ĠResult ) Ġ{ ĊĠĠĠ ĠLog . i ( tag , Ġ" flutter Ġcall Ġnative : Ġ" Ġ+ Ġcall . method ) ĊĠĠĠ Ġwhen ( call . method ) Ġ{ ĊĠĠĠĠĠ ĠConstant . sdk Version Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġresult . success ( One Login Helper . with (). sdk Version ()) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠConstant . init Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġinit ( call ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠConstant . request Token Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest Token ( call . arguments , Ġresult ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠConstant . dismiss Auth View Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ ĠOne Login Helper . with (). dismiss Auth Activity () ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠConstant . is Available Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġresult . success ( One Login Helper . with (). is Pre GetToken Result Validate ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠConstant . set Log Enable Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ ĠOne Login Helper . with (). set Log Enable ( call . arguments Ġas ĠBoolean ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠConstant . carrier Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġget Carrier ( result ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠConstant . is Protocol Checkbox Checked Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġresult . success ( One Login Helper . with (). is Privacy Checked ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠConstant . destroy Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ ĠOne Login Helper . with (). cancel () ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠConstant . renew Pre GetToken Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ ĠOne Login Helper . with (). register ("") ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠConstant . delete Pre Result Cache Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ ĠOne Login Helper . with (). delete Pre Result Cache () ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠConstant . set Protocol Check State Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġarguments Ġ= Ġcall . arguments ĊĠĠĠĠĠĠĠ Ġif Ġ( arguments Ġis ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ ĠOne Login Helper . with (). set Protocol Check State ( arguments ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġresult . not Implemented () ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Detached From Engine (@ NonNull Ġbinding : ĠFlutter Plugin . Flutter Plugin Binding ) Ġ{ ĊĠĠĠ Ġchannel . set MethodCall Handler ( null ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġinit ( call : ĠMethod Call ) Ġ{ ĊĠĠĠ Ġval Ġargs : ĠMap < String , ĠAny >? Ġ= Ġcall . arguments () ĊĠĠĠ Ġargs ?. run Ġ{ ĊĠĠĠĠĠ Ġif Ġ(! containsKey ( Constant . appId )) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . e ( tag , Ġ" init Ġwithout ĠappId ") ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġval ĠappId Ġ= Ġget ( Constant . appId ) Ġas ĠString ĊĠĠĠĠĠ ĠOne Login Helper . with (). init ( mContext , ĠappId ) ĊĊĠĠĠĠĠ Ġval Ġtimeout : ĠInt Ġ= Ġif Ġ( containsKey ( Constant . timeout )) Ġ{ ĊĠĠĠĠĠĠĠ Ġget ( Constant . timeout ) Ġas ĠInt ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠ 8 0 0 0 ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠOne Login Helper . with (). register ("", Ġtimeout ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġrequest Token ( ui Config : ĠAny ?, Ġresult : ĠResult ) Ġ{ ĊĠĠĠ Ġval Ġone Login UI Config Ġ= ĠUI Helper . generate UI Config ( ui Config , ĠmContext ) ĊĠĠĠ ĠOne Login Helper . with (). request Token ( one Login UI Config , Ġobject Ġ: ĠAbstract One Login Listener () Ġ{ ĊĠĠĠĠĠ Ġoverride Ġfun Ġon Result ( p 0 : ĠJSONObject ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire NotNull ( p 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" on Result Ġargument Ġis Ġnull " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠLog . i ( tag , Ġ" on Result : Ġ$ p 0 ") ĊĠĠĠĠĠĠĠ Ġif Ġ( p 0 . has (" errorCode ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġval ĠerrorCode Ġ= Ġp 0 [" errorCode "] ĊĠĠĠĠĠĠĠĠĠ Ġ// ĠåĪĨ åĪ« å¯¹åºĶ ï¼ļ åĪĩæį¢ è´¦åı· ãĢģ çĤ¹åĩ» æłĩé¢ĺ æłı è¿ĶåĽŀ æĮīéĴ® ãĢģ çĤ¹åĩ» ç³»ç»Ł è¿ĶåĽŀ æĮīéĴ® ãĢĤ æŃ¤ ä¸ī èĢħ æľī event åĽŀè°ĥ ï¼Į ä¸į åĨį è¿ĶåĽŀ åĪ° flutter ĊĠĠĠĠĠĠĠĠĠ Ġif Ġ( errorCode Ġ== Ġ"- 2 0 3 0 3 " Ġ|| ĠerrorCode Ġ== Ġ"- 2 0 3 0 2 " Ġ|| ĠerrorCode Ġ== Ġ"- 2 0 3 0 1 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġarguments Map Ġ= ĠHashMap < String , ĠAny >() ĊĠĠĠĠĠĠĠ Ġval Ġkey Iterator : ĠIterator < String > Ġ= Ġp 0 . keys () ĊĠĠĠĠĠĠĠ Ġvar Ġkey : ĠString ĊĠĠĠĠĠĠĠ Ġvar Ġvalue : ĠAny ĊĠĠĠĠĠĠĠ Ġwhile Ġ( key Iterator . hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġkey Ġ= Ġkey Iterator . next () ĊĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġp 0 [ key ] ĊĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġis ĠJSONObject ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġvalue . toString () ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġarguments Map [ key ] Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġresult . success ( arguments Map ) ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġoverride Ġfun Ġon Login Button Click () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( tag , Ġ" on Auth Button Click ") ĊĠĠĠĠĠĠĠ Ġchannel . invoke Method ( Constant . on Auth Button Click , Ġnull ) ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġoverride Ġfun Ġon Back Button Click () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( tag , Ġ" on Back Button Click ") ĊĠĠĠĠĠĠĠ Ġchannel . invoke Method ( Constant . on Back Button Click , Ġnull ) ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġoverride Ġfun Ġon Switch Button Click () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( tag , Ġ" on Switch Button Click ") ĊĠĠĠĠĠĠĠ Ġchannel . invoke Method ( Constant . on Switch Button Click , Ġnull ) ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġoverride Ġfun Ġon Privacy CheckBox Click ( isChecked : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( tag , Ġ" on Term CheckBox Click ") ĊĠĠĠĠĠĠĠ Ġchannel . invoke Method ( Constant . on Term CheckBox Click , Ġis Checked ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġèİ·åıĸ sim åį¡ è¿Ĳ èĲ¥ åķĨ ç±»åŀĭ ĊĠĠ Ġ*/ ĊĠ Ġprivate Ġfun Ġget Carrier ( result : ĠResult ) Ġ{ ĊĠĠĠ Ġwhen Ġ( One Login Helper . with (). get Sim Operator ( mContext )) Ġ{ ĊĠĠĠĠĠ ĠCar rier . CM . name Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġresult . success ( Carrier . CM . value ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠCar rier . CU . name Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġresult . success ( Carrier . CU . value ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠCar rier . CT . name Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġresult . success ( Carrier . CT . value ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġresult . success ( Carrier . unknown . value ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ Ċ } Ċ