package Ġcom . glib . core . notification Ċ Ċ import Ġandroid . app . Alarm Manager Ċ import Ġandroid . app . Pending Intent Ċ import Ġandroid . content . Broadcast Receiver Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġcom . glib . core . utils . Res Ċ import Ġcom . glib . core . utils . Res . context Ċ Ċ // ĠNOTE : ĠUse ĠBO OT _ COMPLETED Ġto Ġre schedule Ġupon Ġreboot Ċ class ĠAlarm < T : ĠBroadcast Receiver > Ġ{ ĊĠĠĠ Ġprivate Ġval Ġintent : ĠPending Intent ĊĊĠĠĠ Ġ// ĠMake Ġsure Ġto Ġuse Ġthe Ġsame Ġrequest Code Ġto Ġcancel ĊĠĠĠ Ġconstructor Ġ( request Code : ĠInt , Ġtarget : ĠClass < T >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . intent Ġ= ĠIntent ( Res . context , Ġtarget ). let Ġ{ Ġintent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPending Intent . get Broadcast ( Res . context , Ġrequest Code , Ġintent , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmanager (): ĠAlarm Manager Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcontext . getSystem Service ( Context . ALARM _ SERVICE ) Ġas ĠAlarm Manager ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġschedule With Icon ( scheduled In Millis : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= ĠAlarm Manager . Alarm Clock Info ( scheduled In Millis , Ġintent ) ĊĠĠĠĠĠĠĠ Ġmanager (). set Alarm Clock ( info , Ġintent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġschedule ( scheduled In Millis : ĠLong , Ġrepeat In Millis : ĠLong ? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= Ġmanager () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( repeat In Millis Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanager . set Repe ating ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAlarm Manager . RTC _ WAKE UP , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscheduled In Millis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat In Millis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanager . set ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAlarm Manager . RTC _ WAKE UP , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscheduled In Millis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠOld ĠSDK : Ġhttps :// stackoverflow . com / questions / 4 8 6 0 3 9 1 0 / alarm - manager - when - set - alarm - show - alarm - icon - in - right - task bar Ċ // ĠĠĠĠĠĠĠ Ġ// ĠSet Ġalarm Ġicon Ġon Ġtask bar Ċ // ĠĠĠĠĠĠĠ Ġval Ġalarm Changed Ġ= ĠIntent (" android . intent . action . ALARM _ CHANGED ") Ċ // ĠĠĠĠĠĠĠ Ġalarm Changed . putExtra (" alarm Set ", Ġtrue ) Ċ // ĠĠĠĠĠĠĠ Ġcontext . send Broadcast ( alarm Changed ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcancel () Ġ{ ĊĠĠĠĠĠĠĠ Ġmanager (). cancel ( intent ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠOld ĠSDK : Ġhttps :// stackoverflow . com / questions / 4 8 6 0 3 9 1 0 / alarm - manager - when - set - alarm - show - alarm - icon - in - right - task bar Ċ // ĠĠĠĠĠĠĠ Ġ// ĠUn set Ġalarm Ġicon Ċ // ĠĠĠĠĠĠĠ Ġval Ġalarm Changed Ġ= ĠIntent (" android . intent . action . ALARM _ CHANGED ") Ċ // ĠĠĠĠĠĠĠ Ġalarm Changed . putExtra (" alarm Set ", Ġfalse ) Ċ // ĠĠĠĠĠĠĠ Ġcontext . send Broadcast ( alarm Changed ) ĊĠĠĠ Ġ} Ċ } Ċ