/* Ċ Ġ* ĠThe ĠMIT ĠLicense Ġ( MIT ) Ċ Ġ* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠY ar os lav ĠBere z ans ky i Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġcom . github . ven om . service Ċ Ċ import Ġandroid . app . Notification Ċ import Ġandroid . app . Notification Channel Ċ import Ġandroid . app . Notification Manager Ċ import Ġandroid . app . Pending Intent Ċ import Ġandroid . app . Service . NOTIFICATION _ SERVICE Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Build Ċ import Ġandroidx . core . app . Notification Compat Ċ import Ġandroidx . core . app . Notification Compat . Action Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . github . ven om . service . Ven om Service . Companion . ACTION _ CANCEL Ċ import Ġcom . github . ven om . service . Ven om Service . Companion . ACTION _ KILL Ċ Ċ internal Ġclass ĠV en om Notification Manager ( private Ġval Ġcontext : ĠContext ) Ġ{ ĊĊĠĠĠ Ġvar Ġconfig : ĠNotification Config Ġ= Ġdefault Notification ( context ) ĊĊĠĠĠ Ġfun Ġverify Notification Channel () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ< ĠBuild . VERSION _ CODES . O ) Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= ĠNotification Channel ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠV EN OM _ NOTIFICATION _ CHANNEL _ ID , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠV EN OM _ NOTIFICATION _ CHANNEL _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Manager . IMPORT ANCE _ LOW ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġnm Ġ= Ġcontext . getSystem Service ( NOTIFICATION _ SERVICE ) Ġas ĠNotification Manager ĊĠĠĠĠĠĠĠ Ġnm . create Notification Channel ( channel ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Notification (): ĠNotification Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠNotification Compat . Builder ( context , ĠV EN OM _ NOTIFICATION _ CHANNEL _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Title ( config . title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Text ( config . text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Small Icon ( config . icon Res ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setColor ( Context Compat . getColor ( context , Ġconfig . color Res )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addAction ( create Action ( ACTION _ CANCEL , Ġconfig . button Cancel )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addAction ( create Action ( ACTION _ KILL , Ġconfig . button Kill )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Action ( action : ĠString , Ġtext : ĠString ): ĠAction Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠV en om Service :: class . java ). setAction ( action ) ĊĠĠĠĠĠĠĠ Ġval Ġpending Intent Ġ= ĠPending Intent . getService ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , Ġ 0 , Ġintent , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPending Intent . FLAG _ ONE _ SHOT ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn ĠAction ( 0 , Ġtext , Ġpending Intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠV EN OM _ NOTIFICATION _ CHANNEL _ ID Ġ= Ġ" ven om _ notification _ channel " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠV EN OM _ NOTIFICATION _ CHANNEL _ NAME Ġ= Ġ" Ven om " ĊĠĠĠ Ġ} Ċ } Ċ