diff options
author | ByteHamster <info@bytehamster.com> | 2021-03-07 10:48:54 +0100 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2021-03-07 11:11:31 +0100 |
commit | db7012953726d5b3dc8c1f2b4b4e6a6207026fbf (patch) | |
tree | c17f17e43f9cde4a9ade57ed29ba3774e57ddf41 /core/src | |
parent | f6e3843813cfa519ff8c96c5e11b12ea885794d2 (diff) | |
download | AntennaPod-db7012953726d5b3dc8c1f2b4b4e6a6207026fbf.zip |
Stop playback of deleted podcast even if it is just streaming
Diffstat (limited to 'core/src')
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java | 15 | ||||
-rw-r--r-- | core/src/test/java/de/danoeh/antennapod/core/feed/LocalFeedUpdaterTest.java | 2 |
2 files changed, 13 insertions, 4 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java b/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java index a86bdaa65..827e30394 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java +++ b/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java @@ -196,10 +196,17 @@ public class DBWriter { if (queue.remove(item)) { removedFromQueue.add(item); } - if (item.getMedia() != null && item.getMedia().isDownloaded()) { - deleteFeedMediaSynchronous(context, item.getMedia()); - } else if (item.getMedia() != null && requester.isDownloadingFile(item.getMedia())) { - requester.cancelDownload(context, item.getMedia()); + if (item.getMedia() != null) { + if (item.getMedia().getId() == PlaybackPreferences.getCurrentlyPlayingFeedMediaId()) { + // Applies to both downloaded and streamed media + PlaybackPreferences.writeNoMediaPlaying(); + IntentUtils.sendLocalBroadcast(context, PlaybackService.ACTION_SHUTDOWN_PLAYBACK_SERVICE); + } + if (item.getMedia().isDownloaded()) { + deleteFeedMediaSynchronous(context, item.getMedia()); + } else if (requester.isDownloadingFile(item.getMedia())) { + requester.cancelDownload(context, item.getMedia()); + } } } diff --git a/core/src/test/java/de/danoeh/antennapod/core/feed/LocalFeedUpdaterTest.java b/core/src/test/java/de/danoeh/antennapod/core/feed/LocalFeedUpdaterTest.java index b38f8586d..169146c07 100644 --- a/core/src/test/java/de/danoeh/antennapod/core/feed/LocalFeedUpdaterTest.java +++ b/core/src/test/java/de/danoeh/antennapod/core/feed/LocalFeedUpdaterTest.java @@ -11,6 +11,7 @@ import androidx.documentfile.provider.AssetsDocumentFile; import androidx.documentfile.provider.DocumentFile; import androidx.test.platform.app.InstrumentationRegistry; +import de.danoeh.antennapod.core.preferences.PlaybackPreferences; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -67,6 +68,7 @@ public class LocalFeedUpdaterTest { // Initialize environment context = InstrumentationRegistry.getInstrumentation().getContext(); UserPreferences.init(context); + PlaybackPreferences.init(context); Application app = (Application) context; ClientConfig.applicationCallbacks = mock(ApplicationCallbacks.class); |