From e23598aef14490c2cdeaf88b08105fbef6980f14 Mon Sep 17 00:00:00 2001 From: Christopher Eby Date: Sun, 18 Sep 2011 17:24:50 -0500 Subject: [PATCH] Start playback when using play action from library --- src/org/kreed/vanilla/PlaybackService.java | 18 ++++++++++++++---- src/org/kreed/vanilla/SongSelector.java | 3 +++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/org/kreed/vanilla/PlaybackService.java b/src/org/kreed/vanilla/PlaybackService.java index 6703bfce..5c0ed284 100644 --- a/src/org/kreed/vanilla/PlaybackService.java +++ b/src/org/kreed/vanilla/PlaybackService.java @@ -363,17 +363,27 @@ public final class PlaybackService extends Service implements Handler.Callback, } } - private void setFlag(int flag) + /** + * Set a state flag. + * + * @return The new state. + */ + public int setFlag(int flag) { synchronized (mStateLock) { - updateState(mState | flag); + return updateState(mState | flag); } } - private void unsetFlag(int flag) + /** + * Unset a state flag. + * + * @return The new state. + */ + public int unsetFlag(int flag) { synchronized (mStateLock) { - updateState(mState & ~flag); + return updateState(mState & ~flag); } } diff --git a/src/org/kreed/vanilla/SongSelector.java b/src/org/kreed/vanilla/SongSelector.java index 1444b49f..09e0ad16 100644 --- a/src/org/kreed/vanilla/SongSelector.java +++ b/src/org/kreed/vanilla/SongSelector.java @@ -270,6 +270,9 @@ public class SongSelector extends PlaybackActivity implements AdapterView.OnItem int count = service.addSongs(mode, type, id); setSong(service.getSong(0)); + if (action == ACTION_PLAY && (mState & PlaybackService.FLAG_PLAYING) == 0) + setState(service.setFlag(PlaybackService.FLAG_PLAYING)); + Toast.makeText(this, getResources().getQuantityString(text, count, count), Toast.LENGTH_SHORT).show(); mLastActedId = id; }