package Ġtech . ula . utils Ċ Ċ import Ġandroid . app . Notification Ċ import Ġandroid . app . Notification Channel Ċ import Ġandroid . app . Notification Manager Ċ import Ġandroid . app . Pending Intent Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Build Ċ import Ġandroid . support . v 4 . app . Notification Compat Ċ import Ġtech . ula . MainActivity Ċ import Ġtech . ula . R Ċ Ċ class ĠNotification Utility ( val Ġcontext : ĠContext ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġservice Notification Id Ġ= Ġ 1 0 0 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġservice Notification Channel Id Ġ= Ġcontext . getString ( R . string . services _ notification _ channel _ id ) ĊĊĠĠĠ Ġprivate Ġval Ġservice Notification Title Ġ= Ġcontext . getString ( R . string . service _ notification _ title ) ĊĠĠĠ Ġprivate Ġval Ġservice Notification Description Ġ= Ġcontext . getString ( R . string . service _ notification _ description ) ĊĊĠĠĠ Ġprivate Ġval Ġnotification Manager : ĠNotification Manager Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . getSystem Service ( Context . NOTIFICATION _ SERVICE ) Ġas ĠNotification Manager ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Service Notification Channel () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġcontext . getString ( R . string . services _ notification _ channel _ name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdescription Ġ= Ġcontext . getString ( R . string . services _ notification _ channel _ description ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimportance Ġ= ĠNotification Manager . IMPORT ANCE _ LOW ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= ĠNotification Channel ( service Notification Channel Id , Ġname , Ġimportance ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . description Ġ= Ġdescription ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotification Manager . create Notification Channel ( channel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbuild Persistent Service Notification (): ĠNotification Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsession List Intent Ġ= ĠIntent ( context , ĠMainActivity :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġpending Session List Intent Ġ= ĠPending Intent ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getActivity ( context , Ġ 0 , Ġsession List Intent , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠNotification Compat . Builder ( context , Ġservice Notification Channel Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Small Icon ( R . drawable . ic _ stat _ icon ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Title ( service Notification Title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Text ( service Notification Description ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Priority ( Notification Compat . PRIORITY _ MAX ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAuto Cancel ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Intent ( pending Session List Intent ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbuilder . build () ĊĠĠĠ Ġ} Ċ }