diff options
Diffstat (limited to 'core/src/main')
4 files changed, 18 insertions, 10 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/DBReader.java b/core/src/main/java/de/danoeh/antennapod/core/storage/DBReader.java index c0a4bcf69..a422a3b0c 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/storage/DBReader.java +++ b/core/src/main/java/de/danoeh/antennapod/core/storage/DBReader.java @@ -849,13 +849,16 @@ public final class DBReader { */ static FeedImage getFeedImage(PodDBAdapter adapter, final long id) { Cursor cursor = adapter.getImageCursor(id); - if ((cursor.getCount() == 0) || !cursor.moveToFirst()) { - return null; + try { + if ((cursor.getCount() == 0) || !cursor.moveToFirst()) { + return null; + } + FeedImage image = FeedImage.fromCursor(cursor); + image.setId(id); + return image; + } finally { + cursor.close(); } - FeedImage image = FeedImage.fromCursor(cursor); - image.setId(id); - cursor.close(); - return image; } /** 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(); |