package Ġxyz . walk 8 2 4 3 . android music player . feature Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . media . MediaPlayer Ċ import Ġandroid . widget . Button Ċ import Ġjava . util . logging . Logger Ċ Ċ class ĠAudio Player ( context : ĠContext , Ġprivate Ġval Ġoperation Button : ĠButton ) Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġtarget : ĠContext ĊĠĠĠ Ġprivate Ġval Ġlog Ġ= ĠLogger . getLogger ( this :: class . java . name ) ĊĠĠĠ Ġprivate Ġvar Ġmedia Player : ĠMedia Player ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . fine (" Audio Player ") ĊĠĠĠĠĠĠĠ Ġtarget Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġoperation Button . isEnabled Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate ( filepath : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . fine (" Audio Player Ġcreate ") ĊĠĠĠĠĠĠĠ Ġif ( media Player Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdestroy () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmedia Player Ġ= ĠMedia Player () ĊĠĠĠĠĠĠĠ Ġmedia Player ?. set DataSource ( filepath ) ĊĠĠĠĠĠĠĠ Ġmedia Player ?. prepare () ĊĠĠĠĠĠĠĠ Ġoperation Button . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġstart () ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġdestroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . fine (" Audio Player Ġdestroy ") ĊĠĠĠĠĠĠĠ Ġmedia Player ?. release () ĊĠĠĠĠĠĠĠ Ġmedia Player Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġoperation Button . isEnabled Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstart () Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . fine (" Audio Player Ġstart ") ĊĠĠĠĠĠĠĠ Ġif ( media Player ?. is Playing !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . info (" is Playing ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmedia Player ?. start () ĊĠĠĠĠĠĠĠ Ġoperation Button . isSelected Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġresume () Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . fine (" Audio Player Ġresume ") ĊĠĠĠĠĠĠĠ Ġmedia Player ?. start () ĊĠĠĠĠĠĠĠ Ġoperation Button . isSelected Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġpause () Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . fine (" Audio Player Ġpause ") ĊĠĠĠĠĠĠĠ Ġmedia Player ?. pause () ĊĠĠĠĠĠĠĠ Ġoperation Button . isSelected Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstop () Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . fine (" Audio Player Ġstop ") ĊĠĠĠĠĠĠĠ Ġmedia Player ?. stop () ĊĠĠĠĠĠĠĠ Ġoperation Button . isSelected Ġ= Ġfalse ĊĠĠĠ Ġ} Ċ }