package Ġcom . gu o yi . list ening love . ui . widget . app widgets Ċ Ċ import Ġandroid . app . Pending Intent Ċ import Ġandroid . content . Component Name Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Remote Views Ċ import Ġcom . gu o yi . list ening love . R Ċ import Ġcom . gu o yi . list ening love . common . Extras Ċ import Ġcom . gu o yi . list ening love . common . Navigation Helper Ċ import Ġcom . gu o yi . list ening love . player . Music Player Service Ċ import Ġcom . gu o yi . list ening love . utils . Cover Loader Ċ import Ġcom . gu o yi . list ening love . utils . Log Util ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby Ġnv 9 5 Ġon Ġ 0 8 . 0 7 . 1 6 . Ċ Ġ*/ Ċ Ċ class ĠStandard Widget Ġ: ĠBase Widget () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġis First Create Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Res (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . widget _ standard ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġoverride Ġfun Ġon Views Update ( context : ĠContext , Ġremote Views : ĠRemote Views , ĠserviceName : ĠComponent Name , Ġextras : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog Util . e (" Base Widget ", Ġ" æİ¥æĶ¶ åĪ° å¹¿ æĴŃ ------------- Ġon Views Update ") ĊĠĠĠĠĠĠĠ Ġif Ġ( is First Create ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremote Views . setOn Click Pending Intent ( R . id . iv _ next , ĠPending Intent . getService ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠREQUEST _ NEXT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( context , ĠMusic Player Service :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAction ( Music Player Service . ACTION _ NEXT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Component ( serviceName ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremote Views . setOn Click Pending Intent ( R . id . iv _ prev , ĠPending Intent . getService ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠREQUEST _ PREV , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( context , ĠMusic Player Service :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAction ( Music Player Service . ACTION _ PREV ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Component ( serviceName ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremote Views . setOn Click Pending Intent ( R . id . iv _ play _ pause , ĠPending Intent . getService ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠREQUEST _ PLAY PAUSE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( context , ĠMusic Player Service :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAction ( Music Player Service . ACTION _ PLAY _ PAUSE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Component ( serviceName ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPending Intent . FLAG _ UPDATE _ CURRENT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremote Views . setOn Click Pending Intent ( R . id . iv _ cover , ĠPending Intent . getActivity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNavigation Helper . get Now Playing Intent ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Component ( serviceName ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPending Intent . FLAG _ UPDATE _ CURRENT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġremote Views . setOn Click Pending Intent ( R . id . iv _ ly ric , ĠPending Intent . getService ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNavigation Helper . get Ly ric Intent ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Component ( serviceName ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPending Intent . FLAG _ UPDATE _ CURRENT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis First Create Ġ= Ġfalse ; ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( extras Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremote Views . set ImageView Resource ( R . id . iv _ play _ pause , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( extras . getBoolean ( Extras . PLAY _ STATUS , Ġfalse )) ĠR . drawable . ic _ pause Ġelse ĠR . drawable . ic _ play ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( Music Player Service . getInstance () Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmusic Ġ= ĠMusic Player Service . getInstance (). playing Music Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremote Views . setText View Text ( R . id . tv _ title , Ġmusic . title Ġ+ Ġ" Ġ- Ġ" Ġ+ Ġmusic . artist ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCover Loader . load ImageView By Music ( context , Ġmusic ) Ġ{ Ġart work Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( art work Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremote Views . set ImageView Bitmap ( R . id . iv _ cover , Ġart work ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremote Views . set ImageView Resource ( R . id . iv _ cover , ĠR . drawable . default _ cover ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Enabled ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Enabled ( context ) ĊĠĠĠĠĠĠĠ ĠLog Util . e (" Base Widget ", Ġ" æİ¥æĶ¶ åĪ° å¹¿ æĴŃ ------------- Ġ ç¬¬ ä¸Ģæ¬¡ åĪĽå»º ") ĊĠĠĠĠĠĠĠ Ġis First Create Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠMusic Player Service :: class . java ) ĊĠĠĠĠĠĠĠ Ġcontext . start Service ( intent ) ĊĠĠĠ Ġ} Ċ } Ċ