package Ġcom . bug sn ag . android Ċ Ċ import Ġcom . bug sn ag . android . Java Hooks . generate App With State Ċ import Ġcom . bug sn ag . android . Java Hooks . generate Device With State Ċ import Ġjava . lang . Thread Ċ Ċ internal Ġfun Ġtrigger Internal Bug sn ag For Error ( client : ĠClient ) Ġ{ ĊĠĠĠ Ġclient . event Store . write Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" M azer un ner Ġthrew Ġexception Ġserial izing Ġerror ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun Ġflush Error Store Async ( client : ĠClient ) Ġ{ ĊĠĠĠ Ġclient . event Store . flush Async () Ċ } Ċ Ċ internal Ġfun Ġflush Error Store On Launch ( client : ĠClient ) Ġ{ ĊĠĠĠ Ġclient . event Store . flush On Launch () Ċ } Ċ Ċ /** Ċ Ġ* ĠCreates Ġa Ġdelivery ĠAPI Ġclient Ġwith Ġa Ġ 5 0 0 ms Ġdelay , Ġem ulating Ġpoor Ġnetwork Ġconnectivity Ċ Ġ*/ Ċ internal Ġfun Ġcreate Slow Delivery (): ĠDelivery Ġ{ ĊĠĠĠ Ġval Ġdelivery Ġ= Ġcreate Default Delivery () ĊĊĠĠĠ Ġreturn Ġobject Ġ: ĠDelivery Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdeliver ( payload : ĠEvent Payload , Ġdelivery Params : ĠDelivery Params ): ĠDelivery Status Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠThread . sleep ( 5 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdelivery . deliver ( payload , Ġdelivery Params ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdeliver ( payload : ĠSession , Ġdelivery Params : ĠDelivery Params ): ĠDelivery Status Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠThread . sleep ( 5 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdelivery . deliver ( payload , Ġdelivery Params ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun Ġcreate Custom Header Delivery (): ĠDelivery Ġ{ ĊĠĠĠ Ġval Ġdelivery Ġ= Ġcreate Default Delivery () ĊĊĠĠĠ Ġreturn Ġobject Ġ: ĠDelivery Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdeliver ( payload : ĠSession , Ġdelivery Params : ĠDelivery Params ): ĠDelivery Status Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdelivery . deliver ( payload , Ġmutate Delivery Params ( delivery Params )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdeliver ( payload : ĠEvent Payload , Ġdelivery Params : ĠDelivery Params ): ĠDelivery Status Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdelivery . deliver ( payload , Ġmutate Delivery Params ( delivery Params )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġmutate Delivery Params ( params : ĠDelivery Params ): ĠDelivery Params Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmap Ġ= Ġparams . headers . to Mutable Map () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap [" Custom - Client "] Ġ= Ġ" Hello ĠWorld " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠDelivery Params ( params . endpoint , Ġmap . toMap ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġcreate Default Delivery (): ĠDelivery Ġ{ Ġ// Ġuse Ġreflection Ġas ĠDefault Delivery Ġis Ġinternal ĊĠĠĠ Ġval Ġcl z Ġ= ĠClass . forName (" com . bug sn ag . android . Default Delivery ") ĊĠĠĠ Ġreturn Ġcl z . construct ors [ 0 ]. newInstance ( ĊĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠ Ġobject Ġ: ĠLogger Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġe ( msg : ĠString ) Ġ= ĠUnit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġe ( msg : ĠString , Ġthrowable : ĠThrowable ) Ġ= ĠUnit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġw ( msg : ĠString ) Ġ= ĠUnit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġw ( msg : ĠString , Ġthrowable : ĠThrowable ) Ġ= ĠUnit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġi ( msg : ĠString ) Ġ= ĠUnit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġi ( msg : ĠString , Ġthrowable : ĠThrowable ) Ġ= ĠUnit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġd ( msg : ĠString ) Ġ= ĠUnit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġd ( msg : ĠString , Ġthrowable : ĠThrowable ) Ġ= ĠUnit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ġas ĠDelivery Ċ } Ċ Ċ internal Ġfun Ġwrite Error To Store ( client : ĠClient , Ġevent : ĠEvent ) Ġ{ ĊĠĠĠ Ġclient . event Store . write ( event ) Ċ } Ċ Ċ fun Ġgenerate Event ( client : ĠClient ): ĠEvent Ġ{ ĊĠĠĠ Ġval Ġevent Ġ= ĠNative Interface . create Event ( ĊĠĠĠĠĠĠĠ ĠRuntimeException (), ĊĠĠĠĠĠĠĠ Ġclient , ĊĠĠĠĠĠĠĠ ĠSeverity Reason . newInstance ( Severity Reason . REASON _ AN R ) ĊĠĠĠ Ġ) ĊĠĠĠ Ġevent . app Ġ= Ġgenerate App With State ( client . config ) ĊĠĠĠ Ġevent . device Ġ= Ġgenerate Device With State () ĊĠĠĠ Ġreturn Ġevent Ċ } Ċ