diff options
author | Martin Fietz <Martin.Fietz@gmail.com> | 2015-11-07 17:09:36 +0100 |
---|---|---|
committer | Martin Fietz <Martin.Fietz@gmail.com> | 2015-11-07 17:38:29 +0100 |
commit | 2197e9b7418baa3b7833f932a4cb652be1e43ba4 (patch) | |
tree | ee730d6d18e5b0587b0b8c1577ee74a315d7c1bb /core | |
parent | 0aeb520f14763e3f81c6e83d9584b79eac7d19f0 (diff) | |
download | AntennaPod-2197e9b7418baa3b7833f932a4cb652be1e43ba4.zip |
If removing currently playing episode, (pause and) skip the same
Diffstat (limited to 'core')
3 files changed, 9 insertions, 4 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/asynctask/FeedRemover.java b/core/src/main/java/de/danoeh/antennapod/core/asynctask/FeedRemover.java index bea8d2afd..7ff622f34 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/asynctask/FeedRemover.java +++ b/core/src/main/java/de/danoeh/antennapod/core/asynctask/FeedRemover.java @@ -3,12 +3,14 @@ package de.danoeh.antennapod.core.asynctask; import android.annotation.SuppressLint; import android.app.ProgressDialog; import android.content.Context; +import android.content.Intent; import android.os.AsyncTask; import java.util.concurrent.ExecutionException; import de.danoeh.antennapod.core.R; import de.danoeh.antennapod.core.feed.Feed; +import de.danoeh.antennapod.core.service.playback.PlaybackService; import de.danoeh.antennapod.core.storage.DBWriter; /** Removes a feed in the background. */ @@ -16,6 +18,7 @@ public class FeedRemover extends AsyncTask<Void, Void, Void> { Context context; ProgressDialog dialog; Feed feed; + public boolean skipOnCompletion = false; public FeedRemover(Context context, Feed feed) { super(); @@ -38,6 +41,10 @@ public class FeedRemover extends AsyncTask<Void, Void, Void> { @Override protected void onPostExecute(Void result) { dialog.dismiss(); + if(skipOnCompletion) { + context.sendBroadcast(new Intent( + PlaybackService.ACTION_SKIP_CURRENT_EPISODE)); + } } @Override diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java index ab78387a2..2ce91645b 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java @@ -571,7 +571,7 @@ public class PlaybackService extends Service { try { final List<FeedItem> queue = taskManager.getQueue(); isInQueue = QueueAccess.ItemListAccess(queue).contains(item.getId()); - nextItem = DBTasks.getQueueSuccessorOfItem(this, item.getId(), queue); + nextItem = DBTasks.getQueueSuccessorOfItem(item.getId(), queue); } catch (InterruptedException e) { e.printStackTrace(); // isInQueue remains false diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java b/core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java index f54e13471..a8aee1961 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java +++ b/core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java @@ -394,14 +394,12 @@ public final class DBTasks { /** * Returns the successor of a FeedItem in the queue. * - * @param context Used for accessing the DB. * @param itemId ID of the FeedItem * @param queue Used for determining the successor of the item. If this parameter is null, the method will load * the queue from the database in the same thread. * @return Successor of the FeedItem or null if the FeedItem is not in the queue or has no successor. */ - public static FeedItem getQueueSuccessorOfItem(Context context, - final long itemId, List<FeedItem> queue) { + public static FeedItem getQueueSuccessorOfItem(final long itemId, List<FeedItem> queue) { FeedItem result = null; if (queue == null) { queue = DBReader.getQueue(); |