summaryrefslogtreecommitdiff
path: root/src/de/podfetcher/service/PlaybackService.java
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2012-07-03 12:11:46 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2012-07-03 12:11:46 +0200
commit2ba267cb2103389270703274ca26792071438b00 (patch)
tree5e8fffc58e0e429f4e84720b3cdc0d13b896517c /src/de/podfetcher/service/PlaybackService.java
parentc8977b719feaa8be0de25a4f2c59af520cfd50eb (diff)
downloadAntennaPod-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.java19
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);
+ }
+
}
};