summaryrefslogtreecommitdiff
path: root/storage/database/src/main/java
diff options
context:
space:
mode:
authorByteHamster <ByteHamster@users.noreply.github.com>2023-03-31 22:07:41 +0200
committerGitHub <noreply@github.com>2023-03-31 22:07:41 +0200
commitee69e8c66bf0e734db8770efd9ad512491ce546a (patch)
treeefcd51f1b19e824e2cac241836cb5e1f6af0ad36 /storage/database/src/main/java
parent07b59d8b32a43216c0cec01f7bb1f213147db3ef (diff)
downloadAntennaPod-ee69e8c66bf0e734db8770efd9ad512491ce546a.zip
Remove from queue section some time after resetting playback position (#6402)
Diffstat (limited to 'storage/database/src/main/java')
-rw-r--r--storage/database/src/main/java/de/danoeh/antennapod/storage/database/PodDBAdapter.java12
1 files changed, 6 insertions, 6 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 46c731205..74fa6ecc4 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
@@ -999,17 +999,17 @@ public class PodDBAdapter {
}
public final Cursor getPausedQueueCursor(int limit) {
- //playback position > 0 (paused), rank by last played, then rest of queue
+ final String hasPositionOrRecentlyPlayed = TABLE_NAME_FEED_MEDIA + "." + KEY_POSITION + " >= 1000"
+ + " OR " + TABLE_NAME_FEED_MEDIA + "." + KEY_LAST_PLAYED_TIME
+ + " >= " + (System.currentTimeMillis() - 30000);
final String query = "SELECT " + KEYS_FEED_ITEM_WITHOUT_DESCRIPTION + ", " + KEYS_FEED_MEDIA
+ " FROM " + TABLE_NAME_QUEUE
+ " INNER JOIN " + TABLE_NAME_FEED_ITEMS
+ " ON " + SELECT_KEY_ITEM_ID + " = " + TABLE_NAME_QUEUE + "." + KEY_FEEDITEM
+ JOIN_FEED_ITEM_AND_MEDIA
- // In the front: Episodes that have a position >1sec, but also the episode that was just started
- + " ORDER BY (" + TABLE_NAME_FEED_MEDIA + "." + KEY_POSITION + " >= 1000"
- + " OR " + TABLE_NAME_FEED_MEDIA + "." + KEY_LAST_PLAYED_TIME
- + " >= " + (System.currentTimeMillis() - 30000) + ") DESC , "
- + TABLE_NAME_FEED_MEDIA + "." + KEY_LAST_PLAYED_TIME + " DESC , " + TABLE_NAME_QUEUE + "." + KEY_ID
+ + " ORDER BY IIF(" + hasPositionOrRecentlyPlayed
+ + ", " + TABLE_NAME_FEED_MEDIA + "." + KEY_LAST_PLAYED_TIME + ", 0) DESC , "
+ + TABLE_NAME_QUEUE + "." + KEY_ID
+ " LIMIT " + limit;
return db.rawQuery(query, null);
}