From 5ea3661bd8fbe4e367be21366911d5130ceb7acf Mon Sep 17 00:00:00 2001 From: Tony Tam Date: Sun, 10 Oct 2021 07:22:54 -0700 Subject: [PATCH] limit to 100 episodes when browsing a podcast feed --- .../core/service/playback/PlaybackService.java | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 848ea7cfc..d1dcd463a 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 @@ -174,6 +174,12 @@ public class PlaybackService extends MediaBrowserServiceCompat { public static final int NOTIFICATION_TYPE_SLEEPTIMER_UPDATE = 4; public static final int NOTIFICATION_TYPE_BUFFER_START = 5; public static final int NOTIFICATION_TYPE_BUFFER_END = 6; + + /** + * Set a max number of episodes to load for Android Auto, otherwise there could be performance issues + */ + public static final int MAX_ANDROID_AUTO_EPISODES_PER_FEED = 100; + /** * No more episodes are going to be played. */ @@ -460,9 +466,13 @@ public class PlaybackService extends MediaBrowserServiceCompat { } else if (parentId.startsWith("FeedId:")) { long feedId = Long.parseLong(parentId.split(":")[1]); List feedItems = DBReader.getFeedItemList(DBReader.getFeed(feedId)); + int count = 0; for (FeedItem feedItem : feedItems) { if (feedItem.getMedia() != null && feedItem.getMedia().getMediaItem() != null) { mediaItems.add(feedItem.getMedia().getMediaItem()); + if (++count >= MAX_ANDROID_AUTO_EPISODES_PER_FEED) { + break; + } } } }