From 21515a430e25a1d53b938803e87bbdd96b8d4a0f Mon Sep 17 00:00:00 2001 From: Christopher Eby Date: Wed, 26 May 2010 22:48:07 -0500 Subject: [PATCH] Defer broadcasting --- src/org/kreed/vanilla/PlaybackService.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/org/kreed/vanilla/PlaybackService.java b/src/org/kreed/vanilla/PlaybackService.java index 33408834..65362a86 100644 --- a/src/org/kreed/vanilla/PlaybackService.java +++ b/src/org/kreed/vanilla/PlaybackService.java @@ -423,7 +423,7 @@ public final class PlaybackService extends Service implements Handler.Callback, Intent intent = new Intent(EVENT_REPLACE_SONG); intent.putExtra("pos", delta); intent.putExtra("song", song); - ContextApplication.broadcast(intent); + mHandler.sendMessage(mHandler.obtainMessage(BROADCAST, intent)); } void setFlag(int flag) @@ -461,7 +461,7 @@ public final class PlaybackService extends Service implements Handler.Callback, intent.putExtra("state", state); intent.putExtra("song", song); intent.putExtra("pos", mTimeline.getCurrentPosition()); - ContextApplication.broadcast(intent); + mHandler.sendMessage(mHandler.obtainMessage(BROADCAST, intent)); if (mScrobble) { intent = new Intent("net.jjc1138.android.scrobbler.action.MUSIC_STATUS"); @@ -760,6 +760,14 @@ public final class PlaybackService extends Service implements Handler.Callback, * obj should an Integer representing the delta to pass to go. */ private static final int CALL_GO = 8; + /** + * Broadcast the given intent with ContextApplication. + * + * obj should contain the intent to broadcast. + * + * @see ContextApplication#broadcast(Intent) + */ + private static final int BROADCAST = 9; private static final int SAVE_STATE = 12; private static final int PROCESS_SONG = 13; @@ -839,6 +847,9 @@ public final class PlaybackService extends Service implements Handler.Callback, } } break; + case BROADCAST: + ContextApplication.broadcast((Intent)message.obj); + break; default: return false; }