summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorByteHamster <ByteHamster@users.noreply.github.com>2023-03-01 20:52:23 +0100
committerGitHub <noreply@github.com>2023-03-01 20:52:23 +0100
commit24d1a06662c8eec31f3a4c3ebdcd3aea759fb63a (patch)
tree82873a97be29ec64127a07773ac8911657547b68 /storage
parent581e71b306bbc28dc504bde1d1bba6d6121e26e1 (diff)
downloadAntennaPod-24d1a06662c8eec31f3a4c3ebdcd3aea759fb63a.zip
Instead of specialized methods, use the global 'getEpisodes' method with a filter (#6358)
Diffstat (limited to 'storage')
-rw-r--r--storage/database/src/main/java/de/danoeh/antennapod/storage/database/PodDBAdapter.java83
1 files changed, 9 insertions, 74 deletions
diff --git a/storage/database/src/main/java/de/danoeh/antennapod/storage/database/PodDBAdapter.java b/storage/database/src/main/java/de/danoeh/antennapod/storage/database/PodDBAdapter.java
index 825dea84e..c870e35de 100644
--- a/storage/database/src/main/java/de/danoeh/antennapod/storage/database/PodDBAdapter.java
+++ b/storage/database/src/main/java/de/danoeh/antennapod/storage/database/PodDBAdapter.java
@@ -45,8 +45,6 @@ import org.apache.commons.io.FileUtils;
import static de.danoeh.antennapod.model.feed.FeedPreferences.SPEED_USE_GLOBAL;
import static de.danoeh.antennapod.model.feed.SortOrder.toCodeString;
-import de.danoeh.antennapod.storage.database.mapper.FeedItemSortQuery;
-
/**
* Implements methods for accessing the database
*/
@@ -1049,24 +1047,7 @@ public class PodDBAdapter {
db.execSQL(sql);
}
- /**
- * Returns a cursor which contains all feed items that are considered new.
- * Excludes those feeds that do not have 'Keep Updated' enabled.
- * The returned cursor uses the FEEDITEM_SEL_FI_SMALL selection.
- */
- public final Cursor getNewItemsCursor(int offset, int limit, SortOrder sortOrder) {
- String sortQuery = FeedItemSortQuery.generateFrom(sortOrder);
- final String query = SELECT_FEED_ITEMS_AND_MEDIA
- + " INNER JOIN " + TABLE_NAME_FEEDS
- + " ON " + TABLE_NAME_FEED_ITEMS + "." + KEY_FEED + "=" + TABLE_NAME_FEEDS + "." + KEY_ID
- + " WHERE " + TABLE_NAME_FEED_ITEMS + "." + KEY_READ + "=" + FeedItem.NEW
- + " AND " + TABLE_NAME_FEEDS + "." + KEY_KEEP_UPDATED + " > 0"
- + " ORDER BY " + sortQuery + " LIMIT " + offset + ", " + limit;
- return db.rawQuery(query, null);
- }
-
- public final Cursor getRecentlyPublishedItemsCursor(int offset, int limit,
- FeedItemFilter filter, SortOrder sortOrder) {
+ public final Cursor getEpisodesCursor(int offset, int limit, FeedItemFilter filter, SortOrder sortOrder) {
String orderByQuery = FeedItemSortQuery.generateFrom(sortOrder);
String filterQuery = FeedItemFilterQuery.generateFrom(filter);
String whereClause = "".equals(filterQuery) ? "" : " WHERE " + filterQuery;
@@ -1075,6 +1056,14 @@ public class PodDBAdapter {
return db.rawQuery(query, null);
}
+ public final Cursor getEpisodeCountCursor(FeedItemFilter filter) {
+ String filterQuery = FeedItemFilterQuery.generateFrom(filter);
+ String whereClause = "".equals(filterQuery) ? "" : " WHERE " + filterQuery;
+ final String query = "SELECT count(" + TABLE_NAME_FEED_ITEMS + "." + KEY_ID + ") FROM " + TABLE_NAME_FEED_ITEMS
+ + JOIN_FEED_ITEM_AND_MEDIA + whereClause;
+ return db.rawQuery(query, null);
+ }
+
public Cursor getRandomEpisodesCursor(int limit, int seed) {
final String allItemsRandomOrder = SELECT_FEED_ITEMS_AND_MEDIA
+ " WHERE (" + KEY_READ + " = " + FeedItem.NEW + " OR " + KEY_READ + " = " + FeedItem.UNPLAYED + ") "
@@ -1097,28 +1086,6 @@ public class PodDBAdapter {
return "((" + SELECT_KEY_ITEM_ID + " * " + seed + ") % 46471)";
}
- public final Cursor getTotalEpisodeCountCursor(FeedItemFilter filter) {
- String filterQuery = FeedItemFilterQuery.generateFrom(filter);
- String whereClause = "".equals(filterQuery) ? "" : " WHERE " + filterQuery;
- final String query = "SELECT count(" + TABLE_NAME_FEED_ITEMS + "." + KEY_ID + ") FROM " + TABLE_NAME_FEED_ITEMS
- + JOIN_FEED_ITEM_AND_MEDIA + whereClause;
- return db.rawQuery(query, null);
- }
-
- public Cursor getDownloadedItemsCursor(SortOrder sortOrder) {
- String sortQuery = FeedItemSortQuery.generateFrom(sortOrder);
- final String query = SELECT_FEED_ITEMS_AND_MEDIA
- + " WHERE " + TABLE_NAME_FEED_MEDIA + "." + KEY_DOWNLOADED + " > 0"
- + " ORDER BY " + sortQuery;
- return db.rawQuery(query, null);
- }
-
- public Cursor getPlayedItemsCursor() {
- final String query = SELECT_FEED_ITEMS_AND_MEDIA
- + "WHERE " + TABLE_NAME_FEED_ITEMS + "." + KEY_READ + "=" + FeedItem.PLAYED;
- return db.rawQuery(query, null);
- }
-
/**
* Returns a cursor which contains feed media objects with a playback
* completion date in ascending order.
@@ -1267,25 +1234,6 @@ public class PodDBAdapter {
return result;
}
- public final int getNumberOfNewItems() {
- Object[] args = new String[]{
- TABLE_NAME_FEED_ITEMS + "." + KEY_ID,
- TABLE_NAME_FEED_ITEMS,
- TABLE_NAME_FEEDS,
- TABLE_NAME_FEED_ITEMS + "." + KEY_FEED + "=" + TABLE_NAME_FEEDS + "." + KEY_ID,
- TABLE_NAME_FEED_ITEMS + "." + KEY_READ + "=" + FeedItem.NEW
- + " AND " + TABLE_NAME_FEEDS + "." + KEY_KEEP_UPDATED + " > 0"
- };
- final String query = String.format("SELECT COUNT(%s) FROM %s INNER JOIN %s ON %s WHERE %s", args);
- Cursor c = db.rawQuery(query, null);
- int result = 0;
- if (c.moveToFirst()) {
- result = c.getInt(0);
- }
- c.close();
- return result;
- }
-
public final Map<Long, Integer> getFeedCounters(FeedCounter setting, long... feedIds) {
String whereRead;
switch (setting) {
@@ -1371,19 +1319,6 @@ public class PodDBAdapter {
return result;
}
- public final int getNumberOfDownloadedEpisodes() {
- final String query = "SELECT COUNT(DISTINCT " + KEY_ID + ") AS count FROM " + TABLE_NAME_FEED_MEDIA +
- " WHERE " + KEY_DOWNLOADED + " > 0";
-
- Cursor c = db.rawQuery(query, null);
- int result = 0;
- if (c.moveToFirst()) {
- result = c.getInt(0);
- }
- c.close();
- return result;
- }
-
/**
* Uses DatabaseUtils to escape a search query and removes ' at the
* beginning and the end of the string returned by the escape method.