From 25ddd73f244dc6444ed052942d763384f5c58cac Mon Sep 17 00:00:00 2001 From: GitStart <1501599+gitstart@users.noreply.github.com> Date: Wed, 22 Feb 2023 20:04:04 +0100 Subject: Add sort option to episodes screen (#6286) --- .../de/danoeh/antennapod/core/export/favorites/FavoritesWriter.java | 3 ++- .../de/danoeh/antennapod/core/service/playback/PlaybackService.java | 3 ++- core/src/main/java/de/danoeh/antennapod/core/storage/DBReader.java | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) (limited to 'core') diff --git a/core/src/main/java/de/danoeh/antennapod/core/export/favorites/FavoritesWriter.java b/core/src/main/java/de/danoeh/antennapod/core/export/favorites/FavoritesWriter.java index 092329229..5ccfc93fe 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/export/favorites/FavoritesWriter.java +++ b/core/src/main/java/de/danoeh/antennapod/core/export/favorites/FavoritesWriter.java @@ -18,6 +18,7 @@ import de.danoeh.antennapod.core.export.ExportWriter; import de.danoeh.antennapod.model.feed.Feed; import de.danoeh.antennapod.model.feed.FeedItem; import de.danoeh.antennapod.core.storage.DBReader; +import de.danoeh.antennapod.model.feed.SortOrder; /** Writes saved favorites to file. */ public class FavoritesWriter implements ExportWriter { @@ -43,7 +44,7 @@ public class FavoritesWriter implements ExportWriter { String feedTemplate = IOUtils.toString(feedTemplateStream, UTF_8); List allFavorites = DBReader.getRecentlyPublishedEpisodes(0, Integer.MAX_VALUE, - new FeedItemFilter(FeedItemFilter.IS_FAVORITE)); + new FeedItemFilter(FeedItemFilter.IS_FAVORITE), SortOrder.DATE_NEW_OLD); Map> favoriteByFeed = getFeedMap(allFavorites); writer.append(templateParts[0]); 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 176a78f0f..36a056c5d 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 @@ -52,6 +52,7 @@ import de.danoeh.antennapod.event.playback.PlaybackServiceEvent; import de.danoeh.antennapod.event.PlayerErrorEvent; import de.danoeh.antennapod.event.playback.SleepTimerUpdatedEvent; import de.danoeh.antennapod.model.feed.FeedItemFilter; +import de.danoeh.antennapod.model.feed.SortOrder; import de.danoeh.antennapod.playback.base.PlaybackServiceMediaPlayer; import de.danoeh.antennapod.playback.base.PlayerStatus; import de.danoeh.antennapod.playback.cast.CastPsmp; @@ -417,7 +418,7 @@ public class PlaybackService extends MediaBrowserServiceCompat { } else if (parentId.equals(getResources().getString(R.string.episodes_label))) { feedItems = DBReader.getRecentlyPublishedEpisodes(0, MAX_ANDROID_AUTO_EPISODES_PER_FEED, - new FeedItemFilter(FeedItemFilter.UNPLAYED)); + new FeedItemFilter(FeedItemFilter.UNPLAYED), SortOrder.DATE_NEW_OLD); } else if (parentId.startsWith("FeedId:")) { long feedId = Long.parseLong(parentId.split(":")[1]); feedItems = DBReader.getFeedItemList(DBReader.getFeed(feedId)); 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 4641e366c..62b1db3cb 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 @@ -366,12 +366,12 @@ public final class DBReader { * @param filter The filter describing which episodes to filter out. */ @NonNull - public static List getRecentlyPublishedEpisodes(int offset, int limit, FeedItemFilter filter) { + public static List getRecentlyPublishedEpisodes(int offset, int limit, + FeedItemFilter filter, SortOrder sortOrder) { Log.d(TAG, "getRecentlyPublishedEpisodes() called with: offset=" + offset + ", limit=" + limit); - PodDBAdapter adapter = PodDBAdapter.getInstance(); adapter.open(); - try (Cursor cursor = adapter.getRecentlyPublishedItemsCursor(offset, limit, filter)) { + try (Cursor cursor = adapter.getRecentlyPublishedItemsCursor(offset, limit, filter, sortOrder)) { List items = extractItemlistFromCursor(adapter, cursor); loadAdditionalFeedItemListData(items); return items; -- cgit v1.2.3