mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-27 15:30:31 +05:30
fix(SubscriptionsFragment): update last feed time to last video time
With the introduction of the local feed extraction, which only refreshes the feed naturally once a day, it is possible for the user to update the `lastFeedWatchedTime`, but not fetch the feed itself, leading to a disconnect between both values. When the feed is then later on refreshed, the caught-up-indicator is only displayed for the videos since the last app open, and not all new videos since the last refresh.
This commit is contained in:
parent
d1fa614560
commit
54835c9e1f
@ -5,7 +5,6 @@ import android.content.SharedPreferences
|
||||
import androidx.core.content.edit
|
||||
import androidx.preference.PreferenceManager
|
||||
import com.github.libretube.constants.PreferenceKeys
|
||||
import java.time.Instant
|
||||
|
||||
object PreferenceHelper {
|
||||
/**
|
||||
@ -105,8 +104,8 @@ object PreferenceHelper {
|
||||
return getString(PreferenceKeys.LAST_STREAM_VIDEO_ID, "")
|
||||
}
|
||||
|
||||
fun updateLastFeedWatchedTime() {
|
||||
putLong(PreferenceKeys.LAST_WATCHED_FEED_TIME, Instant.now().epochSecond)
|
||||
fun setLastFeedWatchedTime(time: Long) {
|
||||
putLong(PreferenceKeys.LAST_WATCHED_FEED_TIME, time)
|
||||
}
|
||||
|
||||
fun getLastCheckedFeedTime(): Long {
|
||||
|
@ -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 && !it.isUpcoming }
|
||||
val caughtUpIndex = feed.indexOfFirst { it.uploaded <= lastCheckedFeedTime && !it.isUpcoming }
|
||||
if (caughtUpIndex > 0) {
|
||||
sortedFeed.add(
|
||||
caughtUpIndex,
|
||||
@ -380,7 +380,9 @@ class SubscriptionsFragment : DynamicLayoutManagerFragment(R.layout.fragment_sub
|
||||
binding.subFeed.adapter = feedAdapter
|
||||
binding.toggleSubs.text = getString(R.string.subscriptions)
|
||||
|
||||
PreferenceHelper.updateLastFeedWatchedTime()
|
||||
feed.firstOrNull { !it.isUpcoming }?.uploaded?.let {
|
||||
PreferenceHelper.setLastFeedWatchedTime(it)
|
||||
};
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
|
Loading…
x
Reference in New Issue
Block a user