package Ġcom . example . pac aban ades Ċ Ċ import Ġandroid . app . Service Ċ import Ġandroid . content . Broadcast Receiver Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . Intent Filter Ċ import Ġandroid . media . MediaPlayer Ċ import Ġandroid . os . IB inder Ċ import Ġandroidx . local broadcast manager . content . Local Broadcast Manager Ċ import Ġjava . lang . Integer . parseInt ĊĊ Ċ class ĠBackground Sound Service Ġ: ĠService () Ġ{ ĊĠĠĠ Ġvar Ġplayer : ĠMedia Player ? Ġ= Ġnull ĊĠĠĠ Ġoverride Ġfun Ġon Bind ( arg 0 : ĠIntent ?): ĠI Binder ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĠĠĠĠĠĠĠ Ġplayer Ġ= ĠMedia Player . create ( this , ĠR . raw . background _ song ) ĊĠĠĠĠĠĠĠ Ġplayer !!. is Loop ing Ġ= Ġtrue Ġ// ĠSet Ġlooping ĊĠĠĠĠĠĠĠ Ġplayer !!. set Volume ( 1 0 0 f , Ġ 1 0 0 f ) ĊĊĠĠĠĠĠĠĠ ĠLocal Broadcast Manager . getInstance ( this ). register Receiver ( State Receiver , Ġ ĠIntent Filter (" status ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart Command ( intent : ĠIntent ?, Ġflags : ĠInt , Ġstart Id : ĠInt ): ĠInt Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġplayer !!. start () ĊĠĠĠĠĠĠĠ Ġreturn Ġstart Id ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval ĠState Receiver : ĠBroadcast Receiver Ġ= Ġobject Ġ: ĠBroadcast Receiver () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Receive ( context : ĠContext ?, Ġintent : ĠIntent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= Ġintent . getString Extra (" status ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( status . equals (" pause ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer !!. pause () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer !!. start () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠonStart ( intent : ĠIntent ?, Ġstart Id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTO ĠDO ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Un Bind ( arg 0 : ĠIntent ?): ĠI Binder ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTO ĠDO ĠAuto - generated Ġmethod ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Stop () Ġ{} ĊĠĠĠ Ġfun Ġon Pause () Ġ{} ĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġplayer !!. stop () ĊĠĠĠĠĠĠĠ Ġplayer !!. release () ĊĠĠĠĠĠĠĠ ĠLocal Broadcast Manager . getInstance ( this ). unregister Receiver ( State Receiver ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Low Memory () Ġ{} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTAG : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊ Ċ }