diff options
author | ByteHamster <info@bytehamster.com> | 2020-03-17 00:17:21 +0100 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2020-03-17 14:35:06 +0100 |
commit | 4f0de071ec4654c8d0a829d2edb60d9891ce74da (patch) | |
tree | db1dcd0b128841f6f9303ec71efdcf46dc348b57 /core/src | |
parent | 4e0e4baa056509536f34078bf15031d8c0c97053 (diff) | |
download | AntennaPod-4f0de071ec4654c8d0a829d2edb60d9891ce74da.zip |
Converted lists to RecyclerView
Also, cleaned up list adapters
Diffstat (limited to 'core/src')
3 files changed, 21 insertions, 37 deletions
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 0ec325e85..b92dd217d 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 @@ -54,7 +54,6 @@ import de.danoeh.antennapod.core.event.settings.SpeedPresetChangedEvent; import de.danoeh.antennapod.core.event.settings.VolumeAdaptionChangedEvent; import de.danoeh.antennapod.core.feed.Chapter; import de.danoeh.antennapod.core.feed.Feed; -import de.danoeh.antennapod.core.feed.FeedComponent; import de.danoeh.antennapod.core.feed.FeedItem; import de.danoeh.antennapod.core.feed.FeedMedia; import de.danoeh.antennapod.core.feed.MediaType; @@ -1649,18 +1648,11 @@ public class PlaybackService extends MediaBrowserServiceCompat { public void onPlayFromSearch(String query, Bundle extras) { Log.d(TAG, "onPlayFromSearch query=" + query + " extras=" + extras.toString()); - List<FeedComponent> results = FeedSearcher.performSearch(getBaseContext(), query, 0); - for (FeedComponent result : results) { - if (result instanceof FeedItem) { - try { - FeedMedia media = ((FeedItem) result).getMedia(); - mediaPlayer.playMediaObject(media, !media.localFileAvailable(), true, true); - return; - } catch (Exception e) { - Log.d(TAG, e.getMessage()); - e.printStackTrace(); - } - } + List<FeedItem> results = FeedSearcher.searchFeedItems(getBaseContext(), query, 0); + if (results.size() > 0 && results.get(0).getMedia() != null) { + FeedMedia media = results.get(0).getMedia(); + mediaPlayer.playMediaObject(media, !media.localFileAvailable(), true, true); + return; } onPlay(); } 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 bbd7bbcf1..a8cc6cbee 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 @@ -126,8 +126,6 @@ public class DBWriter { } } EventBus.getDefault().post(FeedItemEvent.deletedMedia(Collections.singletonList(media.getItem()))); - EventBus.getDefault().post(new UnreadItemsUpdateEvent()); - return true; } diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/FeedSearcher.java b/core/src/main/java/de/danoeh/antennapod/core/storage/FeedSearcher.java index 77c8d3b7f..9d75231d0 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/storage/FeedSearcher.java +++ b/core/src/main/java/de/danoeh/antennapod/core/storage/FeedSearcher.java @@ -7,6 +7,7 @@ import de.danoeh.antennapod.core.feed.FeedComponent; import de.danoeh.antennapod.core.feed.FeedItem; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; @@ -19,32 +20,25 @@ public class FeedSearcher { } - /** - * Search through a feed, or all feeds, for episodes that match the query in either the title, - * chapter, or show notes. The search is first performed on titles, then chapters, and finally - * show notes. The list of resulting episodes also describes where the first match occurred - * (title, chapters, or show notes). - * - * @param context Used for database access - * @param query search query - * @param selectedFeed feed to search, 0 to search through all feeds - * @return list of episodes containing the query - */ @NonNull - public static List<FeedComponent> performSearch(final Context context, final String query, final long selectedFeed) { - final List<FeedComponent> result = new ArrayList<>(); + public static List<FeedItem> searchFeedItems(final Context context, final String query, final long selectedFeed) { try { FutureTask<List<FeedItem>> itemSearchTask = DBTasks.searchFeedItems(context, selectedFeed, query); itemSearchTask.run(); - if (selectedFeed == 0) { - FutureTask<List<Feed>> feedSearchTask = DBTasks.searchFeeds(context, query); - feedSearchTask.run(); - result.addAll(feedSearchTask.get()); - } - result.addAll(itemSearchTask.get()); - } catch (InterruptedException | ExecutionException e) { - e.printStackTrace(); + return itemSearchTask.get(); + } catch (ExecutionException | InterruptedException e) { + return Collections.emptyList(); + } + } + + @NonNull + public static List<Feed> searchFeeds(final Context context, final String query) { + try { + FutureTask<List<Feed>> feedSearchTask = DBTasks.searchFeeds(context, query); + feedSearchTask.run(); + return feedSearchTask.get(); + } catch (ExecutionException | InterruptedException e) { + return Collections.emptyList(); } - return result; } } |