Merge pull request #6941 from FineFindus/feat/fetch-needed

feat(LocalFeedRepository): fetch only enabled channel tabs
This commit is contained in:
Bnyro 2025-01-11 11:43:48 +01:00 committed by GitHub
commit b50661df8f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -6,6 +6,7 @@ import com.github.libretube.api.obj.StreamItem
import com.github.libretube.constants.PreferenceKeys
import com.github.libretube.db.DatabaseHolder
import com.github.libretube.db.obj.SubscriptionsFeedItem
import com.github.libretube.enums.ContentFilter
import com.github.libretube.extensions.parallelMap
import com.github.libretube.helpers.NewPipeExtractorInstance
import com.github.libretube.helpers.PreferenceHelper
@ -19,7 +20,13 @@ import java.time.Instant
class LocalFeedRepository : FeedRepository {
private val relevantTabs =
arrayOf(ChannelTabs.LIVESTREAMS, ChannelTabs.VIDEOS, ChannelTabs.SHORTS)
listOf(
ContentFilter.LIVESTREAMS to ChannelTabs.LIVESTREAMS,
ContentFilter.VIDEOS to ChannelTabs.VIDEOS,
ContentFilter.SHORTS to ChannelTabs.SHORTS
).mapNotNull { (filter, tab) ->
if (filter.isEnabled) tab else null
}.toTypedArray()
override suspend fun getFeed(forceRefresh: Boolean): List<StreamItem> {
val nowMillis = Instant.now().toEpochMilli()