From ee99ef934c131e5c75682c47129dd172a2203793 Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Sat, 2 Mar 2024 09:50:24 +0100 Subject: Remove FeedComponent and FeedFile class (#6949) We want to be more flexible in what we store for each type of item. Also rename misleading function (lastUpdate to lastModified) --- .../de/danoeh/antennapod/core/feed/LocalFeedUpdater.java | 7 ++++--- .../de/danoeh/antennapod/core/service/FeedUpdateWorker.java | 5 +++-- .../core/service/download/DownloadRequestCreator.java | 2 +- .../core/service/download/handler/FeedParserTask.java | 8 ++++---- .../service/download/handler/MediaDownloadedHandler.java | 4 ++-- .../main/java/de/danoeh/antennapod/core/storage/DBTasks.java | 12 +++++++----- .../java/de/danoeh/antennapod/core/storage/DbReaderTest.java | 5 ++++- .../core/storage/ItemEnqueuePositionCalculatorTest.java | 3 +-- .../antennapod/core/storage/mapper/FeedCursorMapperTest.java | 2 +- 9 files changed, 27 insertions(+), 21 deletions(-) (limited to 'core/src') diff --git a/core/src/main/java/de/danoeh/antennapod/core/feed/LocalFeedUpdater.java b/core/src/main/java/de/danoeh/antennapod/core/feed/LocalFeedUpdater.java index d63fd50f2..0c793d0c5 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/feed/LocalFeedUpdater.java +++ b/core/src/main/java/de/danoeh/antennapod/core/feed/LocalFeedUpdater.java @@ -242,8 +242,8 @@ public class LocalFeedUpdater { } private static void reportError(Feed feed, String reasonDetailed) { - DownloadResult status = new DownloadResult(feed, feed.getTitle(), - DownloadError.ERROR_IO_ERROR, false, reasonDetailed); + DownloadResult status = new DownloadResult(feed.getTitle(), feed.getId(), + Feed.FEEDFILETYPE_FEED, false, DownloadError.ERROR_IO_ERROR, reasonDetailed); DBWriter.addDownloadStatus(status); DBWriter.setFeedLastUpdateFailed(feed.getId(), true); } @@ -252,7 +252,8 @@ public class LocalFeedUpdater { * Reports a successful download status. */ private static void reportSuccess(Feed feed) { - DownloadResult status = new DownloadResult(feed, feed.getTitle(), DownloadError.SUCCESS, true, null); + DownloadResult status = new DownloadResult(feed.getTitle(), feed.getId(), + Feed.FEEDFILETYPE_FEED, true, DownloadError.SUCCESS, null); DBWriter.addDownloadStatus(status); DBWriter.setFeedLastUpdateFailed(feed.getId(), false); } diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/FeedUpdateWorker.java b/core/src/main/java/de/danoeh/antennapod/core/service/FeedUpdateWorker.java index eea4d2082..b01def584 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/FeedUpdateWorker.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/FeedUpdateWorker.java @@ -142,8 +142,9 @@ public class FeedUpdateWorker extends Worker { } } catch (Exception e) { DBWriter.setFeedLastUpdateFailed(feed.getId(), true); - DownloadResult status = new DownloadResult(feed, feed.getTitle(), - DownloadError.ERROR_IO_ERROR, false, e.getMessage()); + DownloadResult status = new DownloadResult(feed.getTitle(), + feed.getId(), Feed.FEEDFILETYPE_FEED, false, + DownloadError.ERROR_IO_ERROR, e.getMessage()); DBWriter.addDownloadStatus(status); } toUpdate.remove(0); diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadRequestCreator.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadRequestCreator.java index fd5babdd1..9ade2f03a 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadRequestCreator.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadRequestCreator.java @@ -31,7 +31,7 @@ public class DownloadRequestCreator { return new DownloadRequest.Builder(dest.toString(), feed) .withAuthentication(username, password) - .lastModified(feed.getLastUpdate()); + .lastModified(feed.getLastModified()); } public static DownloadRequest.Builder create(FeedMedia media) { diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/handler/FeedParserTask.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/handler/FeedParserTask.java index 5da250e15..264740032 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/download/handler/FeedParserTask.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/handler/FeedParserTask.java @@ -87,12 +87,12 @@ public class FeedParserTask implements Callable { } if (successful) { - downloadResult = new DownloadResult(feed, feed.getHumanReadableIdentifier(), DownloadError.SUCCESS, - successful, reasonDetailed); + downloadResult = new DownloadResult(feed.getHumanReadableIdentifier(), feed.getId(), + Feed.FEEDFILETYPE_FEED, true, DownloadError.SUCCESS, reasonDetailed); return result; } else { - downloadResult = new DownloadResult(feed, feed.getHumanReadableIdentifier(), reason, - successful, reasonDetailed); + downloadResult = new DownloadResult(feed.getHumanReadableIdentifier(), feed.getId(), + Feed.FEEDFILETYPE_FEED, false, reason, reasonDetailed); return null; } } diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/handler/MediaDownloadedHandler.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/handler/MediaDownloadedHandler.java index 019f311d2..98c470f21 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/download/handler/MediaDownloadedHandler.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/handler/MediaDownloadedHandler.java @@ -95,8 +95,8 @@ public class MediaDownloadedHandler implements Runnable { Log.e(TAG, "MediaHandlerThread was interrupted"); } catch (ExecutionException e) { Log.e(TAG, "ExecutionException in MediaHandlerThread: " + e.getMessage()); - updatedStatus = new DownloadResult(media, media.getEpisodeTitle(), - DownloadError.ERROR_DB_ACCESS_ERROR, false, e.getMessage()); + updatedStatus = new DownloadResult(media.getEpisodeTitle(), media.getId(), + FeedMedia.FEEDFILETYPE_FEEDMEDIA, false, DownloadError.ERROR_DB_ACCESS_ERROR, e.getMessage()); } if (item != null) { 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 840ce65f6..d3b4ba6c6 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 @@ -243,8 +243,9 @@ public final class DBTasks { FeedItem possibleDuplicate = searchFeedItemGuessDuplicate(newFeed.getItems(), item); if (!newFeed.isLocalFeed() && possibleDuplicate != null && item != possibleDuplicate) { // Canonical episode is the first one returned (usually oldest) - DBWriter.addDownloadStatus(new DownloadResult(savedFeed, - item.getTitle(), DownloadError.ERROR_PARSER_EXCEPTION_DUPLICATE, false, + DBWriter.addDownloadStatus(new DownloadResult(item.getTitle(), + savedFeed.getId(), Feed.FEEDFILETYPE_FEED, false, + DownloadError.ERROR_PARSER_EXCEPTION_DUPLICATE, "The podcast host appears to have added the same episode twice. " + "AntennaPod still refreshed the feed and attempted to repair it." + "\n\nOriginal episode:\n" + duplicateEpisodeDetails(item) @@ -258,8 +259,9 @@ public final class DBTasks { oldItem = searchFeedItemGuessDuplicate(savedFeed.getItems(), item); if (oldItem != null) { Log.d(TAG, "Repaired duplicate: " + oldItem + ", " + item); - DBWriter.addDownloadStatus(new DownloadResult(savedFeed, - item.getTitle(), DownloadError.ERROR_PARSER_EXCEPTION_DUPLICATE, false, + DBWriter.addDownloadStatus(new DownloadResult(item.getTitle(), + savedFeed.getId(), Feed.FEEDFILETYPE_FEED, false, + DownloadError.ERROR_PARSER_EXCEPTION_DUPLICATE, "The podcast host changed the ID of an existing episode instead of just " + "updating the episode itself. AntennaPod still refreshed the feed and " + "attempted to repair it." @@ -328,7 +330,7 @@ public final class DBTasks { } // update attributes - savedFeed.setLastUpdate(newFeed.getLastUpdate()); + savedFeed.setLastModified(newFeed.getLastModified()); savedFeed.setType(newFeed.getType()); savedFeed.setLastUpdateFailed(false); diff --git a/core/src/test/java/de/danoeh/antennapod/core/storage/DbReaderTest.java b/core/src/test/java/de/danoeh/antennapod/core/storage/DbReaderTest.java index b67bc48ea..e045012a6 100644 --- a/core/src/test/java/de/danoeh/antennapod/core/storage/DbReaderTest.java +++ b/core/src/test/java/de/danoeh/antennapod/core/storage/DbReaderTest.java @@ -423,7 +423,10 @@ public class DbReaderTest { FeedItem item2 = DBReader.getFeedItem(item1.getId()); item2.setChapters(DBReader.loadChaptersOfFeedItem(item2)); assertTrue(item2.hasChapters()); - assertEquals(item1.getChapters(), item2.getChapters()); + assertEquals(item1.getChapters().size(), item2.getChapters().size()); + for (int i = 0; i < item1.getChapters().size(); i++) { + assertEquals(item1.getChapters().get(i).getId(), item2.getChapters().get(i).getId()); + } } @Test diff --git a/core/src/test/java/de/danoeh/antennapod/core/storage/ItemEnqueuePositionCalculatorTest.java b/core/src/test/java/de/danoeh/antennapod/core/storage/ItemEnqueuePositionCalculatorTest.java index 2594fabf6..f0f81eee1 100644 --- a/core/src/test/java/de/danoeh/antennapod/core/storage/ItemEnqueuePositionCalculatorTest.java +++ b/core/src/test/java/de/danoeh/antennapod/core/storage/ItemEnqueuePositionCalculatorTest.java @@ -16,7 +16,6 @@ import java.util.Date; import java.util.List; import java.util.stream.Collectors; -import de.danoeh.antennapod.model.feed.FeedComponent; import de.danoeh.antennapod.model.feed.FeedItem; import de.danoeh.antennapod.model.feed.FeedMedia; import de.danoeh.antennapod.core.feed.FeedMother; @@ -145,7 +144,7 @@ public class ItemEnqueuePositionCalculatorTest { Collections.unmodifiableList(Arrays.asList( createFeedItem(11), createFeedItem(12), createFeedItem(13), createFeedItem(14))); static final List QUEUE_DEFAULT_IDS = - QUEUE_DEFAULT.stream().map(FeedComponent::getId).collect(Collectors.toList()); + QUEUE_DEFAULT.stream().map(FeedItem::getId).collect(Collectors.toList()); static Playable getCurrentlyPlaying(long idCurrentlyPlaying) { diff --git a/core/src/test/java/de/danoeh/antennapod/core/storage/mapper/FeedCursorMapperTest.java b/core/src/test/java/de/danoeh/antennapod/core/storage/mapper/FeedCursorMapperTest.java index 486aa82a8..f41762672 100644 --- a/core/src/test/java/de/danoeh/antennapod/core/storage/mapper/FeedCursorMapperTest.java +++ b/core/src/test/java/de/danoeh/antennapod/core/storage/mapper/FeedCursorMapperTest.java @@ -56,7 +56,7 @@ public class FeedCursorMapperTest { assertEquals("feed file url", feed.getFile_url()); assertEquals("feed download url", feed.getDownload_url()); assertTrue(feed.isDownloaded()); - assertEquals("feed last update", feed.getLastUpdate()); + assertEquals("feed last update", feed.getLastModified()); assertEquals("feed type", feed.getType()); assertEquals("feed identifier", feed.getFeedIdentifier()); assertTrue(feed.isPaged()); -- cgit v1.2.3