package Ġcom . program mer gab ut . sol at ku y . broad caster Ċ Ċ import Ġandroid . app . Alarm Manager Ċ import Ġandroid . app . Pending Intent Ċ import Ġandroid . content . Broadcast Receiver Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġcom . google . firebase . crash ly t ics . Firebase Crash ly t ics Ċ import Ġcom . program mer gab ut . sol at ku y . ui . du a . D ua Activity Ċ import Ġcom . program mer gab ut . sol at ku y . util . Constant Ċ import Ġcom . program mer gab ut . sol at ku y . ui . Notification Helper Ċ import Ġcom . program mer gab ut . sol at ku y . data . hard code data . D ua Data Ċ import Ġcom . program mer gab ut . sol at ku y . model . D ua Extra Data Ċ import Ġcom . program mer gab ut . sol at ku y . model . Pr ayer Extra Data Ċ Ċ /* Ċ Ġ* ĠCreated Ġby ĠK at ili ĠJ i wo ĠA di ĠW iy ono Ġon Ġ 2 7 / 0 3 / 2 0 . Ċ Ġ*/ Ċ Ċ class ĠPr ayer Broadcast Receiver : ĠBroadcast Receiver () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġpr ayer ID Ġ= Ġ" pr ayer Id " ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġpr ayer Name Ġ= Ġ" pr ayer Name " ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġpr ayer Time Ġ= Ġ" pr ayer Time " ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġpr ayer City Ġ= Ġ" pr ayer City " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Receive ( context : ĠContext ?, Ġintent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( context Ġ== Ġnull Ġ|| Ġintent Ġ== Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFirebase Crash ly t ics . getInstance (). set Custom Key (" on Receive ĠPr ayer Broadcast Receiver ", Ġ" context Ġ== Ġnull Ġ|| Ġintent Ġ== Ġnull ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠNullPointerException () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġnotification Helper Ġ= ĠNotification Helper ( context ) ĊĠĠĠĠĠĠĠ Ġval Ġpr ayer Data Ġ= Ġset Intent ( intent ) ĊĊĠĠĠĠĠĠĠ Ġif ( pr ayer Data . pr ayer Name . isNull OrEmpty () Ġ|| Ġpr ayer Data . pr ayer Time . isNull OrEmpty ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFirebase Crash ly t ics . getInstance (). set Custom Key (" on Receive ĠPr ayer Broadcast Receiver ", Ġ" pr ayer Data . pr ayer Name . isNull OrEmpty () Ġ|| Ġpr ayer Data . pr ayer Time . isNull OrEmpty () ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠNullPointerException () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġremove All Notification ( context ) ĊĊĠĠĠĠĠĠĠ Ġval Ġd ua Intent Ġ= Ġcreate D ua Intent ( context ) ĊĠĠĠĠĠĠĠ Ġval Ġpending Intent Ġ= ĠPending Intent . getActivity ( context , ĠConstant . ID _ D UA _ PENDING _ INT ENT , Ġd ua Intent , ĠPending Intent . FLAG _ UPDATE _ CURRENT ) ĊĠĠĠĠĠĠĠ Ġval Ġnotification Builder Ġ= Ġnotification Helper . create Pr ayer Reminder Notification ( pr ayer Data . pr ayer Time !! , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpr ayer Data . pr ayer City Ġ?: Ġ"-", Ġpr ayer Data . pr ayer Name !! , Ġpending Intent ) ĊĊĠĠĠĠĠĠĠ Ġnotification Helper . getManager ()?. notify ( Constant . ID _ PR AY ER _ NOTIFICATION , Ġnotification Builder . build ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Intent ( intent : ĠIntent ): ĠPr ayer Extra Data Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPr ayer Extra Data (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . pr ayer Id Ġ= Ġintent . getInt Extra ( pr ayer ID , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . pr ayer Name Ġ= Ġintent . getString Extra ( pr ayer Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . pr ayer Time Ġ= Ġintent . getString Extra ( pr ayer Time ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . pr ayer City Ġ= Ġintent . getString Extra ( pr ayer City ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġremove All Notification ( context : ĠContext ){ ĊĠĠĠĠĠĠĠ Ġval Ġalarm Manager Ġ= Ġcontext . getSystem Service ( Context . ALARM _ SERVICE ) Ġas ĠAlarm Manager ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠPr ayer Broadcast Receiver :: class . java ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( id Ġin Ġ 1 Ġuntil Ġ 5 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpending Intent Ġ= ĠPending Intent . get Broadcast ( context , Ġid , Ġintent , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalarm Manager . cancel ( pending Intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate D ua Intent ( context : ĠContext ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠD ua Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġd ua After Ad han Ġ= ĠD ua Data . getList D ua (). find Ġ{ Ġd ua Ġ-> Ġd ua . id Ġ== Ġ 1 } !! ĊĠĠĠĠĠĠĠ Ġintent . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflags Ġ= ĠIntent . FLAG _ ACTIVITY _ NEW _ TASK Ġor ĠIntent . FLAG _ ACTIVITY _ CLEAR _ TASK ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( D ua Activity . D ua Data , ĠD ua Extra Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ua Title Ġ= Ġd ua After Ad han . title , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ua Ar Ġ= Ġd ua After Ad han . arab , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ua Lt Ġ= Ġd ua After Ad han . latin , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ua En Ġ= Ġd ua After Ad han . english , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ua In Ġ= Ġd ua After Ad han . ind onesia , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ua Ref Ġ= Ġd ua After Ad han . reference ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠ Ġ} Ċ Ċ }