@ file : Jvm Name (" Notification Helper ") Ċ @ file : Jvm Mult if ile Class Ċ Ċ package Ġcr ux . b ph c . cms . helper Ċ Ċ import Ġandroid . app . Notification Manager Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Build Ċ import Ġandroidx . core . app . Notification Compat Ċ import Ġcr ux . b ph c . cms . R Ċ import Ġcr ux . b ph c . cms . models . Notification Set Ċ import Ġcr ux . b ph c . cms . models . course . Course Ċ import Ġcr ux . b ph c . cms . models . course . Course Section Ċ import Ġcr ux . b ph c . cms . models . course . Module Ċ import Ġcr ux . b ph c . cms . models . forum . Dis cussion Ċ import Ġcr ux . b ph c . cms . widgets . Html TextView Ċ Ċ const Ġval ĠNOT IFICATION _ CHANNEL _ UP DAT ES _ B UNDLE : ĠString Ġ= Ġ" channel _ content _ updates _ bundle " Ċ const Ġval ĠNOT IFICATION _ CHANNEL _ UP DAT ES : ĠString Ġ= Ġ" channel _ content _ updates " Ċ Ċ fun Ġpush Course Section Not if ( context : ĠContext , Ġnot if Manager : ĠNotification Manager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsection : ĠCourse Section , Ġcourse : ĠCourse ) Ġ{ ĊĠĠĠ Ġfor Ġ( module Ġin Ġsection . modules ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpush Module Not if ( context , Ġnot if Manager , Ġmodule , Ġsection , Ġcourse ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġpush Module Not if ( context : ĠContext , Ġnot if Manager : ĠNotification Manager , Ġmodule : ĠModule , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsection : ĠCourse Section , Ġcourse : Course ) Ġ{ ĊĠĠ Ġcreate Not if From Set ( context , Ġnot if Manager , ĊĠĠĠĠĠĠĠĠĠĠ ĠNotification Set . create Notification Set For Module ( context , Ġcourse , Ġsection , Ġmodule )) Ċ } Ċ Ċ fun Ġpush Dis cussion Not if ( context : ĠContext , Ġnot if Manager : ĠNotification Manager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiscussion : ĠDis cussion , Ġmodule : ĠModule , Ġcourse : ĠCourse ) Ġ{ ĊĠĠĠĠĠ Ġcreate Not if From Set ( context , Ġnot if Manager , ĊĠĠĠĠĠĠĠ ĠNotification Set . create Notification Set For Dis cussion ( context , Ġcourse , Ġmodule , Ġdiscussion )) Ċ } Ċ Ċ fun Ġpush Site News Not if ( context : ĠContext , Ġnot if Manager : ĠNotification Manager , Ġdiscussion : ĠDis cussion ) Ġ{ ĊĠĠĠ Ġcreate Not if From Set ( context , Ġnot if Manager , ĊĠĠĠĠĠĠĠ ĠNotification Set . create Notification Set For Site News ( context , Ġdiscussion )) Ċ } Ċ Ċ fun Ġcreate Logged Out Not if ( context : ĠContext , Ġnot if Manager : ĠNotification Manager ) Ġ{ ĊĠĠĠ Ġval Ġnot if Set Ġ= ĠNotification Set ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . currentTimeMillis (). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . currentTimeMillis (). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getString ( R . string . logout _ notif _ title ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getString ( R . string . logout _ notif _ content ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ) ĊĠĠĠ Ġcreate Not if From Set ( context , Ġnot if Manager , Ġnot if Set ) Ċ } Ċ Ċ fun Ġcreate Not if From Set ( context : ĠContext , Ġnot if Manager : ĠNotification Manager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnot if Set : ĠNotification Set ) Ġ{ ĊĠĠĠ Ġ// Ġchannel ĠID Ġis Ġignored Ġfor Ġbelow ĠO re o ĊĠĠĠ Ġval Ġm Builder Ġ= ĠNotification Compat ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder ( context , ĠNOT IFICATION _ CHANNEL _ UP DAT ES ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Small Icon ( R . drawable . ic _ bits _ logo ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Group ( notif Set . group Key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Group Summary ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAuto Cancel ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Intent ( notif Set . pending Intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Priority ( Notification Compat . PRIORITY _ DEFAULT ) ĊĊĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . N ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠBuild Ġthe Ġsummary Ġnotification Ġfor ĠN out gat + Ġdevices ĊĠĠĠĠĠĠĠ Ġval Ġgroup Builder Ġ= ĠNotification Compat ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder ( context , ĠNOT IFICATION _ CHANNEL _ UP DAT ES _ B UNDLE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Small Icon ( R . drawable . ic _ bits _ logo ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Text ( Html TextView . parse Html ( notif Set . group Key )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setStyle ( Notification Compat . Inbox Style () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Big Content Title ( notif Set . group Key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Summary Text ( notif Set . group Key )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Group ( notif Set . group Key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Group Summary ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAuto Cancel ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Intent ( notif Set . pending Intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Priority ( Notification Compat . PRIORITY _ DEFAULT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Only Alert Once ( true ) ĊĠĠĠĠĠĠĠ Ġnot if Manager . notify ( notif Set . bundle Id , Ġgroup Builder . build ()) ĊĊĠĠĠĠĠĠĠ Ġm Builder . setContent Title ( notif Set . notif Title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Text ( notif Set . notif Content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setStyle ( Notification Compat . Big TextStyle () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Summary Text ( notif Set . group Key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. big Text ( notif Set . notif Content )) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġm Builder . setContent Title ( notif Set . group Key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Text ( notif Set . notif Content ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġnot if Manager . notify ( notif Set . unique Id , Ġm Builder . build ()) Ċ } Ċ