package Ġtech . so it . quiet . service Ċ Ċ import Ġandroid . os . IB inder Ċ import Ġtech . so it . quiet . Music Session Callback Ċ import Ġtech . so it . quiet . player . Music Metadata Ċ import Ġtech . so it . quiet . player . Play Queue Ċ import Ġtech . so it . quiet . player . Playback State Ċ Ċ internal Ġclass ĠSh im Music Session Callback Ġ: ĠMusic Session Callback Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcallbacks Ġ= Ġmutable ListOf < Music Session Callback >() ĊĊĊĠĠĠ Ġfun Ġadd Callback ( callback : ĠMusic Session Callback ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcallbacks . add ( callback ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove Callback ( callback : ĠMusic Session Callback ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcallbacks . remove ( callback ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Playback StateChanged ( state : ĠPlay back State ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcallbacks . forEach Ġ{ Ġit . on Playback StateChanged ( state ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Play Queue Changed ( queue : ĠPlay Queue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcallbacks . forEach Ġ{ Ġit . on Play Queue Changed ( queue ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Metadata Changed ( metadata : ĠMusic Metadata ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġcallbacks . forEach Ġ{ Ġit . on Metadata Changed ( metadata ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Play Mode Changed ( play Mode : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcallbacks . forEach Ġ{ Ġit . on Play Mode Changed ( play Mode ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġas Binder (): ĠI Binder Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠIllegal Access Error () ĊĠĠĠ Ġ} Ċ }