summaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2020-03-17 00:17:21 +0100
committerByteHamster <info@bytehamster.com>2020-03-17 14:35:06 +0100
commit4f0de071ec4654c8d0a829d2edb60d9891ce74da (patch)
treedb1dcd0b128841f6f9303ec71efdcf46dc348b57 /core/src
parent4e0e4baa056509536f34078bf15031d8c0c97053 (diff)
downloadAntennaPod-4f0de071ec4654c8d0a829d2edb60d9891ce74da.zip
Converted lists to RecyclerView
Also, cleaned up list adapters
Diffstat (limited to 'core/src')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java18
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java2
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/FeedSearcher.java38
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;
}
}