package Ġdev . bug hub . plugin . flt _ um eng push _ core Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Log Ċ import Ġcom . um eng . message . I Um eng Register Callback Ċ import Ġcom . um eng . message . Push Agent Ċ import Ġcom . um eng . message . U Track Ċ import Ġcom . um eng . message . common . inter . IT ag Manager Ċ import Ġcom . um eng . message . tag . Tag Manager Ċ import Ġio . flutter . embedding . engine . plugins . Flutter Plugin Ċ import Ġio . flutter . embedding . engine . plugins . activity . Activity Aware Ċ import Ġio . flutter . embedding . engine . plugins . activity . Activity Plugin Binding Ċ import Ġio . flutter . plugin . common . Event Channel Ċ 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 ĠF lt Um eng push Core Plugin Ġ: ĠMethod Call Handler , ĠFlutter Plugin , ĠActivity Aware Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġevent Sink Ġ= ĠQue uing Event Sink () ĊĊĠĠĠ Ġprivate Ġvar Ġflutter Plugin Binding : ĠFlutter Plugin . Flutter Plugin Binding ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġpush Agent : ĠPush Agent ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġdevice Token : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġerror : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġactivity : ĠActivity ? Ġ= Ġnull ĊĊĊĠĠĠ Ġoverride Ġfun Ġon MethodCall ( call : ĠMethod Call , Ġresult : ĠResult ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( call . method ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" configure " Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( push Agent Ġ== Ġnull Ġ|| Ġdevice Token Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Sink . error (" error ", Ġ" éħįç½® åı¯èĥ½ æľī éĶĻ ï¼Į è¯· æ£ĢæŁ¥ . ($ error )", Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdevice Token ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevent Result Ġ= ĠHashMap < String , ĠAny >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Result [" event "] Ġ= Ġ" configure " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Result [" device Token "] Ġ= Ġit ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Sink . success ( event Result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// æ·»åĬł æłĩçŃ¾ Ġ ç¤ºä¾ĭ ï¼ļ å°Ĩ âĢľ æłĩçŃ¾ 1 âĢĿ ãĢģ âĢľ æłĩçŃ¾ 2 âĢĿ ç»ĳå®ļ èĩ³ è¯¥ è®¾å¤ĩ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" add Tags " Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtags Ġ= Ġcall . argument < List < String >> (" tags ") Ġ?: Ġarray ListOf () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpush Agent ?. tag Manager ?. add Tags ( Tag Manager . T CallBack Ġ{ Ġis Success , Ġresult Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ* tags . to Typed Array ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// åĪłéĻ¤ æłĩçŃ¾ , å°Ĩ ä¹ĭåīį æ·»åĬł çļĦ æłĩçŃ¾ ä¸ŃçļĦ ä¸Ģä¸ª æĪĸ å¤ļä¸ª åĪłéĻ¤ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" delete Tags " Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtags Ġ= Ġcall . argument < List < String >> (" tags ") Ġ?: Ġarray ListOf () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpush Agent ?. tag Manager ?. delete Tags ( Tag Manager . T CallBack Ġ{ Ġis Success , Ġresult Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ* tags . to Typed Array ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// åĪ« åĲį å¢ŀåĬł ï¼Į å°Ĩ æŁĲ ä¸Ģ ç±»åŀĭçļĦ åĪ« åĲį ID ç»ĳå®ļ èĩ³ æŁĲ è®¾å¤ĩ ï¼Į èĢģ çļĦ ç»ĳå®ļ è®¾å¤ĩ ä¿¡æģ¯ è¿ĺ åľ¨ ï¼Į åĪ« åĲį ID åĴĮ device _ token æĺ¯ ä¸Ģ å¯¹ å¤ļ çļĦ æĺłå°Ħ åħ³ç³» ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" add Alias " Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġalias Ġ= Ġcall . argument < String >(" alias ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġcall . argument < String >(" type ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpush Agent ?. add Alias ( alias , Ġtype ) Ġ{ Ġis Success , Ġmessage Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevent Result Ġ= ĠHashMap < String , ĠAny >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Result [" is Success "] Ġ= Ġis Success ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Result [" message "] Ġ= Ġmessage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. run On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMethod Channel ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflutter Plugin Binding ?. binary Messenger , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" plugin . bug hub . dev / flt _ um eng push _ core / U Track . IC all Back _ add Alias " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). invoke Method (" callback ", Ġevent Result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// åĪ« åĲį ç»ĳå®ļ ï¼Į å°Ĩ æŁĲ ä¸Ģ ç±»åŀĭçļĦ åĪ« åĲį ID ç»ĳå®ļ èĩ³ æŁĲ è®¾å¤ĩ ï¼Į èĢģ çļĦ ç»ĳå®ļ è®¾å¤ĩ ä¿¡æģ¯ è¢« è¦ĨçĽĸ ï¼Į åĪ« åĲį ID åĴĮ device Token æĺ¯ ä¸Ģ å¯¹ ä¸Ģ çļĦ æĺłå°Ħ åħ³ç³» ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" set Alias " Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġalias Ġ= Ġcall . argument < String >(" alias ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġcall . argument < String >(" type ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpush Agent ?. set Alias ( alias , Ġtype ) Ġ{ Ġis Success , Ġmessage Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevent Result Ġ= ĠHashMap < String , ĠAny >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Result [" is Success "] Ġ= Ġis Success ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Result [" message "] Ġ= Ġmessage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. run On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMethod Channel ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflutter Plugin Binding ?. binary Messenger , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" plugin . bug hub . dev / flt _ um eng push _ core / U Track . IC all Back _ set Alias " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). invoke Method (" callback ", Ġevent Result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" ---- ", Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ç§»éĻ¤ åĪ« åĲį ID ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" delete Alias " Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġalias Ġ= Ġcall . argument < String >(" alias ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġcall . argument < String >(" type ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpush Agent ?. delete Alias ( alias , Ġtype ) Ġ{ Ġis Success , Ġmessage Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevent Result Ġ= ĠHashMap < String , ĠAny >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Result [" is Success "] Ġ= Ġis Success ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Result [" message "] Ġ= Ġmessage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. run On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMethod Channel ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflutter Plugin Binding ?. binary Messenger , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" plugin . bug hub . dev / flt _ um eng push _ core / U Track . IC all Back _ delete Alias " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). invoke Method (" callback ", Ġevent Result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" ---- ", Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġresult . not Implemented () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attached To Engine ( binding : ĠFlutter Plugin . Flutter Plugin Binding ) Ġ{ ĊĠĠĠĠĠĠĠ Ġflutter Plugin Binding Ġ= Ġbinding ĊĊĠĠĠĠĠĠĠ Ġ// èİ·åıĸ æ¶Īæģ¯ æİ¨ éĢģ ä»£çĲĨ ĊĠĠĠĠĠĠĠ Ġpush Agent Ġ= ĠPush Agent . getInstance ( flutter Plugin Binding ?. application Context ) ĊĠĠĠĠĠĠĠ ĠLog . i (" ======== ==", Ġ" push Agent :$ push Agent ") ĊĊĠĠĠĠĠĠĠ Ġpush Agent ?. register ( object Ġ: ĠI Um eng Register Callback Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( token : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdevice Token Ġ= Ġtoken ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" ======== ==", Ġ" device Token :$ device Token ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( p 0 : ĠString ?, Ġp 1 : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġ= Ġp 0 Ġ+ Ġp 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" ======== ==", Ġ" error :$ error ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ// èĩªå®ļä¹ī éĢļçŁ¥ æłı æīĵå¼Ģ åĬ¨ ä½ľ ĊĠĠĠĠĠĠĠ Ġpush Agent ?. set Notification Click Handler Ġ{ Ġ_, Ġu Message Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevent Result Ġ= ĠHashMap < String , ĠAny >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent Result [" event "] Ġ= Ġ" notification Handler " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent Result [" data "] Ġ= Ġu Message . custom ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent Sink . success ( event Result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= ĠMethod Channel ( binding . binary Messenger , Ġ" plugin . bug hub . dev / flt _ um eng push _ core ") ĊĠĠĠĠĠĠĠ Ġchannel . set MethodCall Handler ( this ) ĊĠĠĠĠĠĠĠ Ġval Ġevent Channel Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Channel ( binding . binary Messenger , Ġ" plugin . bug hub . dev / flt _ um eng push _ core / event ") ĊĠĠĠĠĠĠĠ Ġevent Channel . set Stream Handler ( object Ġ: ĠEvent Channel . Stream Handler Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Listen ( p 0 : ĠAny ?, Ġsink : ĠEvent Channel . Event Sink ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠæĬ Ĭ event Sink åŃĺ èµ·æĿ¥ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Sink . set Delegate ( sink ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Cancel ( p 0 : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Sink . set Delegate ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detached From Engine ( binding : ĠFlutter Plugin . Flutter Plugin Binding ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpush Agent Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attached To Activity ( binding : ĠActivity Plugin Binding ) Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity Ġ= Ġbinding . activity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detached From Activity For Config Changes () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Re attached To Activity For Config Changes ( binding : ĠActivity Plugin Binding ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detached From Activity () Ġ{ ĊĊĠĠĠ Ġ} Ċ } Ċ