Implemented followQueue preference
This commit is contained in:
parent
d18def3fb3
commit
2163049305
@ -392,27 +392,33 @@ public class PlaybackService extends Service {
|
|||||||
@Override
|
@Override
|
||||||
public void onCompletion(MediaPlayer mp) {
|
public void onCompletion(MediaPlayer mp) {
|
||||||
Log.d(TAG, "Playback completed");
|
Log.d(TAG, "Playback completed");
|
||||||
|
// Save state
|
||||||
positionSaver.cancel(true);
|
positionSaver.cancel(true);
|
||||||
media.setPosition(0);
|
media.setPosition(0);
|
||||||
manager.markItemRead(PlaybackService.this, media.getItem(), true);
|
manager.markItemRead(PlaybackService.this, media.getItem(), true);
|
||||||
if (manager.isInQueue(media.getItem())) {
|
boolean isInQueue = manager.isInQueue(media.getItem());
|
||||||
|
if (isInQueue) {
|
||||||
manager.removeQueueItem(PlaybackService.this, media.getItem());
|
manager.removeQueueItem(PlaybackService.this, media.getItem());
|
||||||
}
|
}
|
||||||
manager.setFeedMedia(PlaybackService.this, media);
|
manager.setFeedMedia(PlaybackService.this, media);
|
||||||
|
|
||||||
|
// Prepare for playing next item
|
||||||
|
boolean followQueue = PreferenceManager
|
||||||
|
.getDefaultSharedPreferences(getApplicationContext())
|
||||||
|
.getBoolean(PodcastApp.PREF_FOLLOW_QUEUE, false);
|
||||||
FeedItem nextItem = manager.getFirstQueueItem();
|
FeedItem nextItem = manager.getFirstQueueItem();
|
||||||
if (nextItem == null) {
|
if (isInQueue && followQueue && nextItem != null) {
|
||||||
Log.d(TAG, "No more items in queue");
|
|
||||||
stopWidgetUpdater();
|
|
||||||
setStatus(PlayerStatus.STOPPED);
|
|
||||||
stopForeground(true);
|
|
||||||
} else {
|
|
||||||
Log.d(TAG, "Loading next item in queue");
|
Log.d(TAG, "Loading next item in queue");
|
||||||
media = nextItem.getMedia();
|
media = nextItem.getMedia();
|
||||||
feed = nextItem.getFeed();
|
feed = nextItem.getFeed();
|
||||||
shouldStream = !media.isDownloaded();
|
shouldStream = !media.isDownloaded();
|
||||||
resetVideoSurface();
|
resetVideoSurface();
|
||||||
sendNotificationBroadcast(NOTIFICATION_TYPE_RELOAD, 0);
|
sendNotificationBroadcast(NOTIFICATION_TYPE_RELOAD, 0);
|
||||||
|
} else {
|
||||||
|
Log.d(TAG, "Stopping playback");
|
||||||
|
stopWidgetUpdater();
|
||||||
|
setStatus(PlayerStatus.STOPPED);
|
||||||
|
stopForeground(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user