package Ġio . github . z wi eb ack . family finance . business . sms . handler Ċ Ċ import Ġandroid . app . Notification Ċ import Ġandroid . app . Notification Channel Ċ import Ġandroid . app . Notification Manager Ċ import Ġandroid . content . Context Ċ Ċ class ĠS ms Notification Sender Ġprivate Ġconstructor () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcontext : ĠContext ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġchannel Id : ĠString ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġchannel Name : ĠString ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnotification : ĠNotification ĊĠĠĠ Ġprivate Ġvar Ġnotification Id : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġfun Ġwith Context ( context : ĠContext ): ĠS ms Notification Sender Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapply Ġ{ Ġthis . context Ġ= Ġcontext Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwith Channel Id ( channelId : ĠString ): ĠS ms Notification Sender Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapply Ġ{ Ġthis . channelId Ġ= Ġchannel Id Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwith Channel Name ( channel Name : ĠString ): ĠS ms Notification Sender Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapply Ġ{ Ġthis . channel Name Ġ= Ġchannel Name Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwith Notification Id ( notification Id : ĠInt ): ĠS ms Notification Sender Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapply Ġ{ Ġthis . notification Id Ġ= Ġnotification Id Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwith Notification ( notification : ĠNotification ): ĠS ms Notification Sender Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapply Ġ{ Ġthis . notification Ġ= Ġnotification Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsend () Ġ{ ĊĠĠĠĠĠĠĠ Ġ( context . getSystem Service ( Context . NOTIFICATION _ SERVICE ) Ġas ? ĠNotification Manager ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ Ġnotification Manager Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Work around For Android O ( notification Manager ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotification Manager . notify ( notification Id , Ġnotification ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ Work around Ġfrom Ġhere ]( https :// stackoverflow . com / a / 4 7 1 3 5 6 0 5 / 8 0 3 5 0 6 5 ) ĊĠĠĠĠ Ġ* Ġand Ġ[ here ]( https :// stackoverflow . com / a / 4 5 7 7 4 1 8 6 / 8 0 3 5 0 6 5 ) ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġadd Work around For Android O ( notification Manager : ĠNotification Manager ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( android . os . Build . VERSION . SDK _ INT Ġ>= Ġandroid . os . Build . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdon 't Ġchange Ġthe Ġimportance , Ġbecause Ġa Ġhigher Ġvalue Ġmakes Ġnoise ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnotification Channel Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Channel ( channelId , Ġchannel Name , ĠNotification Manager . IMPORT ANCE _ LOW ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotification Manager . create Notification Channel ( notification Channel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate (): ĠS ms Notification Sender Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠS ms Notification Sender () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ