package Ġcom . fer dy has pin . ad han _ pr ayer _ android . scheduler Ċ Ċ import Ġandroid . app . Intent Service Ċ import Ġandroid . app . Notification Channel Ċ import Ġandroid . app . Notification Manager Ċ import Ġandroid . app . Pending Intent Ċ import Ġandroid . content . Content Resolver Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . media . Audio Attributes Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġandroidx . core . app . Notification Compat Ċ import Ġcom . fer dy has pin . ad han _ pr ayer _ android . R Ċ import Ġcom . fer dy has pin . ad han _ pr ayer _ android . ui . MainActivity Ċ import Ġcom . fer dy has pin . ad han _ pr ayer _ android . utils . Constants Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġfer dy has pin Ġon Ġ 1 3 / 0 3 / 2 0 . Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ class ĠPr ay Scheduling Service ( name : ĠString ) Ġ: ĠIntent Service ( name ), ĠConstants Ġ{ ĊĊĠĠĠ Ġ// ĠAn ĠID Ġused Ġto Ġpost Ġthe Ġnotification . Ċ // ĠThe ĠGoogle Ġhome Ġpage ĠURL Ġfrom Ġwhich Ġthe Ġapp Ġf etches Ġcontent . Ċ // ĠYou Ġcan Ġfind Ġa Ġlist Ġof Ġother ĠGoogle Ġdomains Ġwith Ġpossible Ġdo od les Ġhere : Ċ // Ġhttp :// en . wikipedia . org / wiki / List _ of _ Google _ domains ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Handle Intent ( intent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠBEGIN _ INCLUDE ( service _ on handle ) ĊĠĠĠĠĠĠĠ Ġif Ġ( intent Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġintent . getString Extra ( Constants . EXTRA _ PR AY ER _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtime Ġ= Ġintent . getString Extra ( Constants . EXTRA _ PR AY ER _ TIME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( name Ġ!= Ġnull Ġ&& Ġtime Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend Notification ( this , Ġname , Ġtime ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend Notification ( this , Ġ" null ", Ġ" null ") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Notification ( this , Ġ" null ", Ġ" null ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsend Notification ( application Context : ĠContext , Ġtitle : ĠString , Ġtime : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsound Uri Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUri . parse ( Content Resolver . SCHEME _ ANDROID _ RESOURCE Ġ+ Ġ" ://" Ġ+ Ġapplication Context . packageName Ġ+ Ġ"/" Ġ+ ĠR . raw . ad han _ trimmed ) ĊĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġgenerate Random () ĊĊĠĠĠĠĠĠĠ Ġvar Ġintent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ CLEAR _ TASK ) ĊĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠĠĠĠĠ Ġintent Ġ= ĠIntent ( application Context , ĠMainActivity :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġ// intent . putExtra (" notification ", Ġdata . get (" type ")); ĊĠĠĠĠĠĠĠ Ġval Ġresult Pending Intent Ġ= ĠPending Intent . getActivity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Context , Ġid Ġ/* ĠRequest Ġcode Ġ*/, Ġintent , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPending Intent . FLAG _ ONE _ SHOT ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġchannel Id Ġ= Ġ" Alarm - Pr ay " ĊĠĠĠĠĠĠĠ Ġval Ġnotification Builder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Compat . Builder ( application Context , Ġchannel Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Small Icon ( R . drawable . ic _ notification ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setColor ( Color . TRANSP ARENT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAuto Cancel ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Title (" W akt un ya Ġ$ title ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Text (" A kan Ġdim ul ai Ġp uk ul Ġ$ time ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Sound ( sound Uri ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Intent ( result Pending Intent ) ĊĠĠĠĠĠĠĠ Ġval Ġm Notification Manager Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Context . getSystem Service ( Context . NOTIFICATION _ SERVICE ) Ġas ĠNotification Manager ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimportance Ġ= ĠNotification Manager . IMPORT ANCE _ HIGH ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= ĠNotification Channel ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchannel Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Context . getString ( R . string . app _ name ), Ġimportance ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaudio Attributes Ġ= ĠAudio Attributes . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ContentType ( Audio Attributes . CONTENT _ TYPE _ SON IFICATION ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Usage ( Audio Attributes . USAGE _ NOTIFICATION ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . set Sound ( sound Uri , Ġaudio Attributes ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . enable Lights ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . light Color Ġ= ĠColor . RED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . enable V ibration ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . vi br ation Pattern Ġ= Ġlong ArrayOf ( 1 0 0 , Ġ 2 0 0 , Ġ 3 0 0 , Ġ 4 0 0 , Ġ 5 0 0 , Ġ 4 0 0 , Ġ 3 0 0 , Ġ 2 0 0 , Ġ 4 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotification Builder . set Channel Id ( channelId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Notification Manager . create Notification Channel ( channel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Notification Manager . notify ( id Ġ/* ĠRequest ĠCode Ġ*/, Ġnotification Builder . build ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Random (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrandom Ġ= ĠRandom () ĊĠĠĠĠĠĠĠ Ġreturn Ġrandom . nextInt ( 9 9 9 9 Ġ- Ġ 1 0 0 0 ) Ġ+ Ġ 1 0 0 0 ĊĠĠĠ Ġ} Ċ }