diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2012-07-03 12:11:46 +0200 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2012-07-03 12:11:46 +0200 |
commit | 2ba267cb2103389270703274ca26792071438b00 (patch) | |
tree | 5e8fffc58e0e429f4e84720b3cdc0d13b896517c /src/de/podfetcher/service/PlaybackService.java | |
parent | c8977b719feaa8be0de25a4f2c59af520cfd50eb (diff) | |
download | AntennaPod-2ba267cb2103389270703274ca26792071438b00.zip |
Playbackservice now switches to next item in queue when completed
Diffstat (limited to 'src/de/podfetcher/service/PlaybackService.java')
-rw-r--r-- | src/de/podfetcher/service/PlaybackService.java | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/de/podfetcher/service/PlaybackService.java b/src/de/podfetcher/service/PlaybackService.java index 07a24a2b1..bf7cc90e9 100644 --- a/src/de/podfetcher/service/PlaybackService.java +++ b/src/de/podfetcher/service/PlaybackService.java @@ -27,6 +27,7 @@ import android.os.IBinder; import de.podfetcher.PodcastApp; import de.podfetcher.activity.MediaplayerActivity; +import de.podfetcher.feed.FeedItem; import de.podfetcher.feed.FeedMedia; import de.podfetcher.feed.Feed; import de.podfetcher.feed.FeedManager; @@ -64,6 +65,7 @@ public class PlaybackService extends Service { public static final int NOTIFICATION_TYPE_ERROR = 0; public static final int NOTIFICATION_TYPE_INFO = 1; public static final int NOTIFICATION_TYPE_BUFFER_UPDATE = 2; + public static final int NOTIFICATION_TYPE_RELOAD = 3; /** Is true if service is running. */ @@ -382,8 +384,21 @@ public class PlaybackService extends Service { manager.removeQueueItem(PlaybackService.this, media.getItem()); } manager.setFeedMedia(PlaybackService.this, media); - setStatus(PlayerStatus.STOPPED); - stopForeground(true); + + FeedItem nextItem = manager.getFirstQueueItem(); + if (nextItem == null) { + Log.d(TAG, "No more items in queue"); + setStatus(PlayerStatus.STOPPED); + stopForeground(true); + } else { + Log.d(TAG, "Loading next item in queue"); + media = nextItem.getMedia(); + feed = nextItem.getFeed(); + shouldStream = !media.isDownloaded(); + resetVideoSurface(); + sendNotificationBroadcast(NOTIFICATION_TYPE_RELOAD, 0); + } + } }; |