From e582f7998cbd68ccab34aa9aa32a647deac428c4 Mon Sep 17 00:00:00 2001 From: arkon Date: Sun, 5 Mar 2023 12:05:48 -0500 Subject: [PATCH] Move sourceMapper to data module (cherry picked from commit 2b9acadc5b7e418f41fa6f93a29a005d671598ee) # Conflicts: # app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt --- .../eu/kanade/data/source/SourceMapper.kt | 19 -------------- .../data/source/SourceRepositoryImpl.kt | 26 ++++++++++++++----- .../kanade/tachiyomi/source/SourceManager.kt | 1 - .../tachiyomi/data/source/SourceMapper.kt | 11 ++++++++ 4 files changed, 31 insertions(+), 26 deletions(-) delete mode 100644 app/src/main/java/eu/kanade/data/source/SourceMapper.kt diff --git a/app/src/main/java/eu/kanade/data/source/SourceMapper.kt b/app/src/main/java/eu/kanade/data/source/SourceMapper.kt deleted file mode 100644 index 0f3dd2f9b..000000000 --- a/app/src/main/java/eu/kanade/data/source/SourceMapper.kt +++ /dev/null @@ -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) -} diff --git a/app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt b/app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt index 1902fd35b..6c9620026 100644 --- a/app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt +++ b/app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt @@ -4,6 +4,7 @@ import eu.kanade.domain.source.repository.SourceRepository import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.source.model.FilterList +import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.source.online.all.EHentai import exh.source.MERGED_SOURCE_ID import kotlinx.coroutines.flow.Flow @@ -13,6 +14,7 @@ import tachiyomi.data.source.SourceLatestPagingSource import tachiyomi.data.source.SourcePagingSourceType import tachiyomi.data.source.SourcePopularPagingSource import tachiyomi.data.source.SourceSearchPagingSource +import tachiyomi.data.source.sourceMapper import tachiyomi.domain.source.model.Source import tachiyomi.domain.source.model.SourceWithCount import tachiyomi.source.local.LocalSource @@ -24,13 +26,19 @@ class SourceRepositoryImpl( override fun getSources(): Flow> { return sourceManager.catalogueSources.map { sources -> - sources.map(catalogueSourceMapper) + sources.map { + sourceMapper(it).copy( + supportsLatest = it.supportsLatest, + ) + } } } override fun getOnlineSources(): Flow> { - return sourceManager.onlineSources.map { sources -> - sources.map(sourceMapper) + return sourceManager.catalogueSources.map { sources -> + sources + .filterIsInstance() + .map(sourceMapper) } } @@ -40,8 +48,11 @@ class SourceRepositoryImpl( sourceIdsWithCount .filterNot { it.source == LocalSource.ID /* SY --> */ || it.source == MERGED_SOURCE_ID /* SY <-- */ } .map { (sourceId, count) -> - val source = sourceMapper(sourceManager.getOrStub(sourceId)) - source to count + val source = sourceManager.getOrStub(sourceId) + val domainSource = sourceMapper(source).copy( + isStub = source is SourceManager.StubSource, + ) + domainSource to count } } } @@ -51,7 +62,10 @@ class SourceRepositoryImpl( return sourceIdWithNonLibraryManga.map { sourceId -> sourceId.map { (sourceId, count) -> val source = sourceManager.getOrStub(sourceId) - SourceWithCount(sourceMapper(source), count) + val domainSource = sourceMapper(source).copy( + isStub = source is SourceManager.StubSource, + ) + SourceWithCount(domainSource, count) } } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt b/app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt index be235ba85..513fdcde2 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt @@ -63,7 +63,6 @@ class SourceManager( private val stubSourcesMap = ConcurrentHashMap() val catalogueSources: Flow> = sourcesMapFlow.map { it.values.filterIsInstance() } - val onlineSources: Flow> = catalogueSources.map { it.filterIsInstance() } // SY --> private val preferences: UnsortedPreferences by injectLazy() diff --git a/data/src/main/java/tachiyomi/data/source/SourceMapper.kt b/data/src/main/java/tachiyomi/data/source/SourceMapper.kt index 416de4692..58ad123e9 100644 --- a/data/src/main/java/tachiyomi/data/source/SourceMapper.kt +++ b/data/src/main/java/tachiyomi/data/source/SourceMapper.kt @@ -1,7 +1,18 @@ package tachiyomi.data.source +import tachiyomi.domain.source.model.Source 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 -> SourceData(id, lang, name) }