package Ġcom . s ild ian . apps . to ge trail . common . utils . ui Helpers Ċ Ċ import Ġandroid . app . Notification Ċ import Ġandroid . app . Notification Channel Ċ import Ġandroid . app . Notification Manager Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Build Ċ import Ġandroidx . annotation . Requires Api Ċ import Ġandroidx . annotation . String Res Ċ import Ġandroidx . core . app . Notification Compat Ċ import Ġcom . s ild ian . apps . to ge trail . R Ċ Ċ /**************************************************************** ******************************** * Ċ Ġ* ĠProvides Ġwith Ġsome Ġfunctions Ġallowing Ġto Ġdisplay Ġnotifications Ċ Ġ***************************************************************** ************************ *******/ Ċ Ċ object ĠNotification Helper Ġ{ ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġcreate Low Priority Notification ( context : ĠContext , Ġ@ String Res Ġtitle Res : ĠInt , Ġ@ String Res Ġdescription Res : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchannel Id : ĠString ): ĠNotification Ġ= ĊĠĠĠĠĠĠĠ Ġcreate Notification ( context , Ġtitle Res , Ġdescription Res , ĠNotification Compat . PRIORITY _ LOW , Ġchannel Id ) ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġcreate Medium Priority Notification ( context : ĠContext , Ġ@ String Res Ġtitle Res : ĠInt , Ġ@ String Res Ġdescription Res : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchannel Id : ĠString ): ĠNotification Ġ= ĊĠĠĠĠĠĠĠ Ġcreate Notification ( context , Ġtitle Res , Ġdescription Res , ĠNotification Compat . PRIORITY _ DEFAULT , Ġchannel Id ) ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġcreate High Priority Notification ( context : ĠContext , Ġ@ String Res Ġtitle Res : ĠInt , Ġ@ String Res Ġdescription Res : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchannel Id : ĠString ): ĠNotification Ġ= ĊĠĠĠĠĠĠĠ Ġcreate Notification ( context , Ġtitle Res , Ġdescription Res , ĠNotification Compat . PRIORITY _ HIGH , Ġchannel Id ) ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠ Ġprivate Ġfun Ġcreate Notification ( context : ĠContext , Ġ@ String Res Ġtitle Res : ĠInt , Ġ@ String Res Ġdescription Res : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpriority : ĠInt , Ġchannel Id : ĠString ): ĠNotification ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchannel Import ance Ġ= Ġwhen Ġ( priority ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Compat . PRIORITY _ LOW Ġ-> ĠNotification Manager . IMPORT ANCE _ LOW ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Compat . PRIORITY _ HIGH Ġ-> ĠNotification Manager . IMPORT ANCE _ HIGH ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠNotification Manager . IMPORT ANCE _ DEFAULT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Notification Channel ( context , Ġchannel Id , Ġtitle Res , Ġdescription Res , Ġchannel Import ance ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Compat . Builder ( context , Ġchannel Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Compat . Builder ( context ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbuilder ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Small Icon ( R . drawable . ic _ to ge trail _ logo _ png ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Title ( context . getString ( title Res )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Text ( context . getString ( description Res )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Priority ( priority ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġ@ Requires Api ( Build . VERSION _ CODES . O ) ĊĠĠĠ Ġprivate Ġfun Ġcreate Notification Channel ( context : ĠContext , Ġid : ĠString , Ġ@ String Res Ġname Res : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ String Res Ġdescription Res : ĠInt , Ġimportance : ĠInt ) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= ĠNotification Channel ( id , Ġcontext . getString ( name Res ), Ġimportance ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġcontext . getString ( description Res ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġnotification Manager : ĠNotification Manager Ġ= Ġcontext . getSystem Service ( Context . NOTIFICATION _ SERVICE ) Ġas ĠNotification Manager ĊĠĠĠĠĠĠĠ Ġnotification Manager . create Notification Channel ( channel ) ĊĠĠĠ Ġ} Ċ }