summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2022-05-08 10:55:05 +0200
committerByteHamster <info@bytehamster.com>2022-05-08 11:18:53 +0200
commit03220d07748d0908c4cf4e6b260ce828dc5ebaac (patch)
tree720174ef3c0e09e19841cdfbbc47ed5257d78a83 /storage
parent7c0d084ffcc6a17ccac043a76f6640c89dea6272 (diff)
downloadAntennaPod-03220d07748d0908c4cf4e6b260ce828dc5ebaac.zip
Show correct total number for lazy loaded items
Diffstat (limited to 'storage')
-rw-r--r--storage/database/src/main/java/de/danoeh/antennapod/storage/database/PodDBAdapter.java8
-rw-r--r--storage/database/src/main/java/de/danoeh/antennapod/storage/database/mapper/FeedItemFilterQuery.java2
2 files changed, 10 insertions, 0 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 3f361eb89..41c8e051a 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
@@ -1052,6 +1052,14 @@ public class PodDBAdapter {
return db.rawQuery(query, null);
}
+ 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() {
final String query = SELECT_FEED_ITEMS_AND_MEDIA
+ "WHERE " + TABLE_NAME_FEED_MEDIA + "." + KEY_DOWNLOADED + " > 0";
diff --git a/storage/database/src/main/java/de/danoeh/antennapod/storage/database/mapper/FeedItemFilterQuery.java b/storage/database/src/main/java/de/danoeh/antennapod/storage/database/mapper/FeedItemFilterQuery.java
index 1728a905f..6c78af50c 100644
--- a/storage/database/src/main/java/de/danoeh/antennapod/storage/database/mapper/FeedItemFilterQuery.java
+++ b/storage/database/src/main/java/de/danoeh/antennapod/storage/database/mapper/FeedItemFilterQuery.java
@@ -34,6 +34,8 @@ public class FeedItemFilterQuery {
statements.add(keyRead + " = 1 ");
} else if (filter.showUnplayed) {
statements.add(" NOT " + keyRead + " = 1 "); // Match "New" items (read = -1) as well
+ } else if (filter.showNew) {
+ statements.add(keyRead + " = -1 ");
}
if (filter.showPaused) {
statements.add(" (" + keyPosition + " NOT NULL AND " + keyPosition + " > 0 " + ") ");