package Ġorg . step ik . android . view . base . receiver Ċ Ċ import Ġandroid . content . Broadcast Receiver Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġorg . step ic . d roid . an alytic . An alytic Ċ import Ġorg . step ic . d roid . base . App Ċ import Ġorg . step ic . d roid . preferences . Shared Preference Helper Ċ import Ġorg . step ik . android . domain . base . an alytic . Parcelable An alytic Event Ċ import Ġorg . step ik . android . domain . st reak . an alytic . St reak Notification Dis missed Ċ import Ġjava . util . concurrent . ThreadPoolExecutor Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠDis missed Notification Receiver Ġ: ĠBroadcast Receiver () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠREQUEST _ CODE Ġ= Ġ 1 3 2 0 2 ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠNOT IFICATION _ DIS MIS SED Ġ= Ġ" notification _ dis missed " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠEX TRA _ PAR CEL ABLE _ ANAL YT IC _ EVENT Ġ= Ġ" parcel able _ an alytic _ event " ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate Intent ( context : ĠContext , Ġan alytic Event : ĠParcel able An alytic Event ): ĠIntent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( context , ĠDis missed Notification Receiver :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAction ( NOTIFICATION _ DIS MIS SED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. putExtra ( EXTRA _ PAR CEL ABLE _ ANAL YT IC _ EVENT , Ġan alytic Event ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġan alytic : ĠAn alytic ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġthread Pool : ĠThreadPool Executor ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġshared Preferences : ĠShared Preference Helper ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠApp . component (). inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Receive ( context : ĠContext ?, Ġintent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= Ġintent ?. action Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġif Ġ( action Ġ== ĠNOT IFICATION _ DIS MIS SED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġan alytic Event Ġ= Ġintent . get Parcelable Extra < Parcelable An alytic Event >( EXTRA _ PAR CEL ABLE _ ANAL YT IC _ EVENT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( an alytic Event Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġan alytic . report ( an alytic Event ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( an alytic Event Ġis ĠSt reak Notification Dis missed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthread Pool . execute Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . reset NumberOf St reak Notifications () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }