fix: infinitely looping channel tab items when using full local npe

This commit is contained in:
Bnyro 2025-03-03 14:45:33 +01:00
parent 4cde38504a
commit 119a7570a6
No known key found for this signature in database

View File

@ -393,12 +393,22 @@ class NewPipeMediaServiceRepository : MediaServiceRepository {
override suspend fun getChannelTab(data: String, nextPage: String?): ChannelTabResponse {
val linkListHandler = data.toListLinkHandler()
val (items, newNextPage) = if (nextPage == null) {
val resp = ChannelTabInfo.getInfo(NewPipeExtractorInstance.extractor, linkListHandler)
val newNextPage = resp.nextPage?.toNextPageString()
resp.relatedItems to resp.nextPage
} else {
val resp = ChannelTabInfo.getMoreItems(
NewPipeExtractorInstance.extractor,
linkListHandler,
nextPage.toPage()
)
resp.items to resp.nextPage
}
val items = resp.relatedItems
.mapNotNull { it.toContentItem() }
return ChannelTabResponse(items, newNextPage)
return ChannelTabResponse(
content = items.mapNotNull { it.toContentItem() },
nextpage = newNextPage?.toNextPageString()
)
}
override suspend fun getChannelByName(channelName: String): Channel {