package Ġcom . my hex av ille . flutter ones ign al Ċ Ċ import Ġcom . ones ign al .* Ċ 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 . MethodCall Ċ import Ġio . flutter . plugin . common . Plugin Registry . Registrar Ċ import Ġio . flutter . plugin . common . Event Channel Ċ Ċ class ĠFlutter One Signal Plugin ( private Ġval Ġregist rar : ĠRegist rar ) ĊĠĠĠ Ġ: ĠMethod Call Handler , ĠEvent Channel . Stream Handler , ĠO SS ub scription Observer Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġsink : ĠEvent Channel . Event Sink ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġresult : ĠResult ? Ġ= Ġnull ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġregister With ( regist rar : ĠRegist rar ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmethods Channel Ġ= ĠMethod Channel ( regist rar . messenger (), Ġ" flutter _ one _ signal / methods ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevent Channel Ġ= ĠEvent Channel ( regist rar . messenger (), Ġ" flutter _ one _ signal / events ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinstance Ġ= ĠFlutter One Signal Plugin ( regist rar ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmethods Channel . set MethodCall Handler ( instance ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent Channel . set Stream Handler ( instance ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon MethodCall ( call : ĠMethod Call , Ġresult : ĠResult ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( call . method ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" start Init " Ġ-> Ġstart Init ( call , Ġresult ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" send Tag " Ġ-> Ġsend Tag ( call ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" set Email " Ġ-> Ġset Email ( call ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" logout Email " Ġ-> Ġlogout Email ( call ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" set Subscription " Ġ-> Ġset Subscription ( call ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" getUserId " Ġ-> Ġget UserId ( call , Ġresult ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġresult . not Implemented () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Listen ( p 0 : ĠAny ?, Ġsink : ĠEvent Channel . Event Sink ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . sink Ġ= Ġsink ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Cancel ( p 0 : ĠAny ?) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Subscription ( call : ĠMethod Call ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġenable Ġ= Ġcall . argument < Boolean >(" enable ") ĊĊĠĠĠĠĠĠĠ ĠOne Signal . set Subscription ( enable ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart Init ( call : ĠMethod Call , Ġresult : ĠResult ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġin Focus Display ing Ġ= Ġparse In Focus Display ing ( call ) ĊĠĠĠĠĠĠĠ Ġval Ġunsubscribe When Notifications Are Disabled Ġ= Ġparse Un subscribe When Notifications Are Disabled ( call ) ĊĊĠĠĠĠĠĠĠ ĠOne Signal . start Init ( regist rar . context ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. in Focus Display ing ( in Focus Display ing ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Notification Opened Handler Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsink ?. success (" opened :${ result ?. notification ?. to JSONObject (). toString () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Notification Received Handler ({ Ġnotification Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsink ?. success (" received :${ notification . to JSONObject (). toString () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. unsubscribe When Notifications Are Disabled ( unsubscribe When Notifications Are Disabled ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. init () ĊĠĠĠĠĠĠĠ Ġresult . success ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsend Tag ( call : ĠMethod Call ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġcall . argument < String >(" key ") ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġcall . argument < String >(" value ") ĊĊĠĠĠĠĠĠĠ ĠOne Signal . send Tag ( key , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Email ( call : ĠMethod Call ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġemail Ġ= Ġcall . argument < String >(" email ") ĊĠĠĠĠĠĠĠ ĠOne Signal . set Email ( email ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlogout Email ( call : ĠMethod Call ) Ġ{ ĊĠĠĠĠĠĠĠ ĠOne Signal . logout Email () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget UserId ( call : ĠMethod Call , Ġresult : ĠResult ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= ĠOne Signal . get Permission Subscription State () ĊĠĠĠĠĠĠĠ Ġval ĠuserId Ġ= Ġstatus . subscription Status . userId ĊĠĠĠĠĠĠĠ Ġif Ġ( userId Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . result Ġ= Ġresult ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOne Signal . add Subscription Observer ( this ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( status . subscription Status . userId ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġparse Un subscribe When Notifications Are Disabled ( call : ĠMethod Call ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcall . argument < String >(" unsubscribe When Notifications Are Disabled "). to Boolean () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġparse In Focus Display ing ( call : ĠMethod Call ): ĠOne Signal . OS In Focus Display Option Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġin Focus Display ing Ġ= Ġcall . argument < String >(" in Focus Display ing ") ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( in Focus Display ing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" OS In Focus Display Option . In App Alert " Ġ-> ĠOne Signal . OS In Focus Display Option . In App Alert ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" OS In Focus Display Option . Notification " Ġ-> ĠOne Signal . OS In Focus Display Option . Notification ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠOne Signal . OS In Focus Display Option . None ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon OSS ub scription Changed ( state Changes : ĠO SS ub scription State Changes ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( state Changes ?. to ?. userId Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult ?. success ( state Changes . to ?. userId ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOne Signal . remove Subscription Observer ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ