Move sourceMapper to data module
(cherry picked from commit 2b9acadc5b7e418f41fa6f93a29a005d671598ee) # Conflicts: # app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt
This commit is contained in:
parent
ef00925ddd
commit
e582f7998c
@ -1,19 +0,0 @@
|
|||||||
package eu.kanade.data.source
|
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.source.CatalogueSource
|
|
||||||
import eu.kanade.tachiyomi.source.SourceManager
|
|
||||||
import tachiyomi.domain.source.model.Source
|
|
||||||
|
|
||||||
val sourceMapper: (eu.kanade.tachiyomi.source.Source) -> Source = { source ->
|
|
||||||
Source(
|
|
||||||
source.id,
|
|
||||||
source.lang,
|
|
||||||
source.name,
|
|
||||||
supportsLatest = false,
|
|
||||||
isStub = source is SourceManager.StubSource,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
val catalogueSourceMapper: (CatalogueSource) -> Source = { source ->
|
|
||||||
sourceMapper(source).copy(supportsLatest = source.supportsLatest)
|
|
||||||
}
|
|
@ -4,6 +4,7 @@ import eu.kanade.domain.source.repository.SourceRepository
|
|||||||
import eu.kanade.tachiyomi.source.CatalogueSource
|
import eu.kanade.tachiyomi.source.CatalogueSource
|
||||||
import eu.kanade.tachiyomi.source.SourceManager
|
import eu.kanade.tachiyomi.source.SourceManager
|
||||||
import eu.kanade.tachiyomi.source.model.FilterList
|
import eu.kanade.tachiyomi.source.model.FilterList
|
||||||
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
import eu.kanade.tachiyomi.source.online.all.EHentai
|
import eu.kanade.tachiyomi.source.online.all.EHentai
|
||||||
import exh.source.MERGED_SOURCE_ID
|
import exh.source.MERGED_SOURCE_ID
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
@ -13,6 +14,7 @@ import tachiyomi.data.source.SourceLatestPagingSource
|
|||||||
import tachiyomi.data.source.SourcePagingSourceType
|
import tachiyomi.data.source.SourcePagingSourceType
|
||||||
import tachiyomi.data.source.SourcePopularPagingSource
|
import tachiyomi.data.source.SourcePopularPagingSource
|
||||||
import tachiyomi.data.source.SourceSearchPagingSource
|
import tachiyomi.data.source.SourceSearchPagingSource
|
||||||
|
import tachiyomi.data.source.sourceMapper
|
||||||
import tachiyomi.domain.source.model.Source
|
import tachiyomi.domain.source.model.Source
|
||||||
import tachiyomi.domain.source.model.SourceWithCount
|
import tachiyomi.domain.source.model.SourceWithCount
|
||||||
import tachiyomi.source.local.LocalSource
|
import tachiyomi.source.local.LocalSource
|
||||||
@ -24,13 +26,19 @@ class SourceRepositoryImpl(
|
|||||||
|
|
||||||
override fun getSources(): Flow<List<Source>> {
|
override fun getSources(): Flow<List<Source>> {
|
||||||
return sourceManager.catalogueSources.map { sources ->
|
return sourceManager.catalogueSources.map { sources ->
|
||||||
sources.map(catalogueSourceMapper)
|
sources.map {
|
||||||
|
sourceMapper(it).copy(
|
||||||
|
supportsLatest = it.supportsLatest,
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getOnlineSources(): Flow<List<Source>> {
|
override fun getOnlineSources(): Flow<List<Source>> {
|
||||||
return sourceManager.onlineSources.map { sources ->
|
return sourceManager.catalogueSources.map { sources ->
|
||||||
sources.map(sourceMapper)
|
sources
|
||||||
|
.filterIsInstance<HttpSource>()
|
||||||
|
.map(sourceMapper)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,8 +48,11 @@ class SourceRepositoryImpl(
|
|||||||
sourceIdsWithCount
|
sourceIdsWithCount
|
||||||
.filterNot { it.source == LocalSource.ID /* SY --> */ || it.source == MERGED_SOURCE_ID /* SY <-- */ }
|
.filterNot { it.source == LocalSource.ID /* SY --> */ || it.source == MERGED_SOURCE_ID /* SY <-- */ }
|
||||||
.map { (sourceId, count) ->
|
.map { (sourceId, count) ->
|
||||||
val source = sourceMapper(sourceManager.getOrStub(sourceId))
|
val source = sourceManager.getOrStub(sourceId)
|
||||||
source to count
|
val domainSource = sourceMapper(source).copy(
|
||||||
|
isStub = source is SourceManager.StubSource,
|
||||||
|
)
|
||||||
|
domainSource to count
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -51,7 +62,10 @@ class SourceRepositoryImpl(
|
|||||||
return sourceIdWithNonLibraryManga.map { sourceId ->
|
return sourceIdWithNonLibraryManga.map { sourceId ->
|
||||||
sourceId.map { (sourceId, count) ->
|
sourceId.map { (sourceId, count) ->
|
||||||
val source = sourceManager.getOrStub(sourceId)
|
val source = sourceManager.getOrStub(sourceId)
|
||||||
SourceWithCount(sourceMapper(source), count)
|
val domainSource = sourceMapper(source).copy(
|
||||||
|
isStub = source is SourceManager.StubSource,
|
||||||
|
)
|
||||||
|
SourceWithCount(domainSource, count)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,6 @@ class SourceManager(
|
|||||||
private val stubSourcesMap = ConcurrentHashMap<Long, StubSource>()
|
private val stubSourcesMap = ConcurrentHashMap<Long, StubSource>()
|
||||||
|
|
||||||
val catalogueSources: Flow<List<CatalogueSource>> = sourcesMapFlow.map { it.values.filterIsInstance<CatalogueSource>() }
|
val catalogueSources: Flow<List<CatalogueSource>> = sourcesMapFlow.map { it.values.filterIsInstance<CatalogueSource>() }
|
||||||
val onlineSources: Flow<List<HttpSource>> = catalogueSources.map { it.filterIsInstance<HttpSource>() }
|
|
||||||
|
|
||||||
// SY -->
|
// SY -->
|
||||||
private val preferences: UnsortedPreferences by injectLazy()
|
private val preferences: UnsortedPreferences by injectLazy()
|
||||||
|
@ -1,7 +1,18 @@
|
|||||||
package tachiyomi.data.source
|
package tachiyomi.data.source
|
||||||
|
|
||||||
|
import tachiyomi.domain.source.model.Source
|
||||||
import tachiyomi.domain.source.model.SourceData
|
import tachiyomi.domain.source.model.SourceData
|
||||||
|
|
||||||
|
val sourceMapper: (eu.kanade.tachiyomi.source.Source) -> Source = { source ->
|
||||||
|
Source(
|
||||||
|
source.id,
|
||||||
|
source.lang,
|
||||||
|
source.name,
|
||||||
|
supportsLatest = false,
|
||||||
|
isStub = false,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
val sourceDataMapper: (Long, String, String) -> SourceData = { id, lang, name ->
|
val sourceDataMapper: (Long, String, String) -> SourceData = { id, lang, name ->
|
||||||
SourceData(id, lang, name)
|
SourceData(id, lang, name)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user