Adapt source implementation for TachiyomiX 1.6 (#3243)
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
package tachiyomi.data.source
|
||||
|
||||
import androidx.paging.PagingState
|
||||
import eu.kanade.tachiyomi.source.CatalogueSource
|
||||
import eu.kanade.tachiyomi.source.Source
|
||||
import eu.kanade.tachiyomi.source.model.FilterList
|
||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
||||
import mihon.domain.manga.model.toDomainManga
|
||||
@@ -13,7 +13,7 @@ import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
|
||||
class SourceSearchPagingSource(
|
||||
source: CatalogueSource,
|
||||
source: Source,
|
||||
private val query: String,
|
||||
private val filters: FilterList,
|
||||
) : BaseSourcePagingSource(source) {
|
||||
@@ -22,20 +22,20 @@ class SourceSearchPagingSource(
|
||||
}
|
||||
}
|
||||
|
||||
class SourcePopularPagingSource(source: CatalogueSource) : BaseSourcePagingSource(source) {
|
||||
class SourcePopularPagingSource(source: Source) : BaseSourcePagingSource(source) {
|
||||
override suspend fun requestNextPage(currentPage: Int): MangasPage {
|
||||
return source.getPopularManga(currentPage)
|
||||
}
|
||||
}
|
||||
|
||||
class SourceLatestPagingSource(source: CatalogueSource) : BaseSourcePagingSource(source) {
|
||||
class SourceLatestPagingSource(source: Source) : BaseSourcePagingSource(source) {
|
||||
override suspend fun requestNextPage(currentPage: Int): MangasPage {
|
||||
return source.getLatestUpdates(currentPage)
|
||||
}
|
||||
}
|
||||
|
||||
abstract class BaseSourcePagingSource(
|
||||
protected val source: CatalogueSource,
|
||||
protected val source: Source,
|
||||
private val networkToLocalManga: NetworkToLocalManga = Injekt.get(),
|
||||
) : SourcePagingSource() {
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package tachiyomi.data.source
|
||||
|
||||
import eu.kanade.tachiyomi.source.CatalogueSource
|
||||
import eu.kanade.tachiyomi.source.Source
|
||||
import eu.kanade.tachiyomi.source.model.FilterList
|
||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||
@@ -22,7 +21,7 @@ class SourceRepositoryImpl(
|
||||
) : SourceRepository {
|
||||
|
||||
override fun getSources(): Flow<List<DomainSource>> {
|
||||
return sourceManager.catalogueSources.map { sources ->
|
||||
return sourceManager.sources.map { sources ->
|
||||
sources.map {
|
||||
mapSourceToDomainSource(it).copy(
|
||||
supportsLatest = it.supportsLatest,
|
||||
@@ -32,7 +31,7 @@ class SourceRepositoryImpl(
|
||||
}
|
||||
|
||||
override fun getOnlineSources(): Flow<List<DomainSource>> {
|
||||
return sourceManager.catalogueSources.map { sources ->
|
||||
return sourceManager.sources.map { sources ->
|
||||
sources
|
||||
.filterIsInstance<HttpSource>()
|
||||
.map(::mapSourceToDomainSource)
|
||||
@@ -43,7 +42,7 @@ class SourceRepositoryImpl(
|
||||
val sourceIdWithFavoriteCountFlow = database.mangasQueries
|
||||
.getSourceIdWithFavoriteCount()
|
||||
.subscribeToList()
|
||||
return combine(sourceIdWithFavoriteCountFlow, sourceManager.catalogueSources) { sourceIdWithFavoriteCount, _ ->
|
||||
return combine(sourceIdWithFavoriteCountFlow, sourceManager.sources) { sourceIdWithFavoriteCount, _ ->
|
||||
sourceIdWithFavoriteCount
|
||||
}
|
||||
.map {
|
||||
@@ -77,18 +76,15 @@ class SourceRepositoryImpl(
|
||||
query: String,
|
||||
filterList: FilterList,
|
||||
): SourcePagingSource {
|
||||
val source = sourceManager.get(sourceId) as CatalogueSource
|
||||
return SourceSearchPagingSource(source, query, filterList)
|
||||
return SourceSearchPagingSource(sourceManager.getOrStub(sourceId), query, filterList)
|
||||
}
|
||||
|
||||
override fun getPopular(sourceId: Long): SourcePagingSource {
|
||||
val source = sourceManager.get(sourceId) as CatalogueSource
|
||||
return SourcePopularPagingSource(source)
|
||||
return SourcePopularPagingSource(sourceManager.getOrStub(sourceId))
|
||||
}
|
||||
|
||||
override fun getLatest(sourceId: Long): SourcePagingSource {
|
||||
val source = sourceManager.get(sourceId) as CatalogueSource
|
||||
return SourceLatestPagingSource(source)
|
||||
return SourceLatestPagingSource(sourceManager.getOrStub(sourceId))
|
||||
}
|
||||
|
||||
private fun mapSourceToDomainSource(source: Source): DomainSource = DomainSource(
|
||||
|
||||
Reference in New Issue
Block a user