From c3be28e23bdc5a13d9c1ce0beb9bd9c599f195d9 Mon Sep 17 00:00:00 2001 From: FineFindus Date: Thu, 23 Jan 2025 14:29:10 +0100 Subject: [PATCH] fix(SubscriptionsFragment): skip all-caught-up check for upcoming videos Skips the check if a video has been already seen (caught up on) for videos which have not been released yet, such as premieres. Doing the check could lead to the all caught up continously displayed for upcoming videos. --- app/src/main/java/com/github/libretube/api/obj/StreamItem.kt | 1 + .../com/github/libretube/ui/fragments/SubscriptionsFragment.kt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/github/libretube/api/obj/StreamItem.kt b/app/src/main/java/com/github/libretube/api/obj/StreamItem.kt index fe2ef8403..5cad11077 100644 --- a/app/src/main/java/com/github/libretube/api/obj/StreamItem.kt +++ b/app/src/main/java/com/github/libretube/api/obj/StreamItem.kt @@ -29,6 +29,7 @@ data class StreamItem( val isShort: Boolean = false ) : Parcelable { val isLive get() = (duration == null) || (duration <= 0L) + val isUpcoming get() = uploaded < System.currentTimeMillis() fun toLocalPlaylistItem(playlistId: String): LocalPlaylistItem { return LocalPlaylistItem( diff --git a/app/src/main/java/com/github/libretube/ui/fragments/SubscriptionsFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/SubscriptionsFragment.kt index 5e8b1cc92..47c96d1be 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/SubscriptionsFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/SubscriptionsFragment.kt @@ -358,7 +358,7 @@ class SubscriptionsFragment : DynamicLayoutManagerFragment(R.layout.fragment_sub // add an "all caught up item" if (selectedSortOrder == 0) { val lastCheckedFeedTime = PreferenceHelper.getLastCheckedFeedTime() - val caughtUpIndex = feed.indexOfFirst { it.uploaded / 1000 < lastCheckedFeedTime } + val caughtUpIndex = feed.indexOfFirst { it.uploaded / 1000 < lastCheckedFeedTime && !it.isUpcoming } if (caughtUpIndex > 0) { sortedFeed.add( caughtUpIndex,