Move more repositories to domain module

This commit is contained in:
Jobobby04
2023-02-09 15:10:37 -05:00
parent ab0995ab9f
commit dd62337ad6
71 changed files with 110 additions and 110 deletions
@@ -1,6 +1,6 @@
package eu.kanade.data.exh
import exh.favorites.sql.models.FavoriteEntry
import tachiyomi.domain.manga.model.FavoriteEntry
val favoriteEntryMapper: (Long, String, String, String, Long) -> FavoriteEntry =
{ id, title, gid, token, category ->
@@ -1,6 +1,6 @@
package eu.kanade.data.exh
import exh.savedsearches.models.FeedSavedSearch
import tachiyomi.domain.source.model.FeedSavedSearch
val feedSavedSearchMapper: (Long, Long, Long?, Boolean) -> FeedSavedSearch =
{ id, source, savedSearch, global ->
@@ -1,6 +1,6 @@
package eu.kanade.data.exh
import exh.merged.sql.models.MergedMangaReference
import tachiyomi.domain.manga.model.MergedMangaReference
val mergedMangaReferenceMapper =
{ id: Long, isInfoManga: Boolean, getChapterUpdates: Boolean, chapterSortMode: Long, chapterPriority: Long, downloadChapters: Boolean, mergeId: Long, mergeUrl: String, mangaId: Long?, mangaUrl: String, mangaSourceId: Long ->
@@ -1,6 +1,6 @@
package eu.kanade.data.exh
import exh.savedsearches.models.SavedSearch
import tachiyomi.domain.source.model.SavedSearch
val savedSearchMapper: (Long, Long, String, String?, String?) -> SavedSearch =
{ id, source, name, query, filtersJson ->
@@ -1,9 +1,9 @@
package eu.kanade.data.manga
import eu.kanade.data.exh.favoriteEntryMapper
import eu.kanade.domain.manga.repository.FavoritesEntryRepository
import exh.favorites.sql.models.FavoriteEntry
import tachiyomi.data.DatabaseHandler
import tachiyomi.domain.manga.model.FavoriteEntry
import tachiyomi.domain.manga.repository.FavoritesEntryRepository
class FavoritesEntryRepositoryImpl(
private val handler: DatabaseHandler,
@@ -1,15 +1,15 @@
package eu.kanade.data.manga
import eu.kanade.data.exh.mergedMangaReferenceMapper
import eu.kanade.domain.manga.model.MergeMangaSettingsUpdate
import eu.kanade.domain.manga.repository.MangaMergeRepository
import eu.kanade.tachiyomi.util.system.logcat
import eu.kanade.tachiyomi.util.system.toLong
import exh.merged.sql.models.MergedMangaReference
import kotlinx.coroutines.flow.Flow
import logcat.LogPriority
import tachiyomi.data.DatabaseHandler
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.model.MergeMangaSettingsUpdate
import tachiyomi.domain.manga.model.MergedMangaReference
import tachiyomi.domain.manga.repository.MangaMergeRepository
class MangaMergeRepositoryImpl(
private val handler: DatabaseHandler,
@@ -3,7 +3,6 @@ package eu.kanade.data.manga
import eu.kanade.data.exh.searchMetadataMapper
import eu.kanade.data.exh.searchTagMapper
import eu.kanade.data.exh.searchTitleMapper
import eu.kanade.domain.manga.repository.MangaMetadataRepository
import exh.metadata.metadata.base.FlatMetadata
import exh.metadata.sql.models.SearchMetadata
import exh.metadata.sql.models.SearchTag
@@ -13,6 +12,7 @@ import exh.source.EXH_SOURCE_ID
import kotlinx.coroutines.flow.Flow
import tachiyomi.data.DatabaseHandler
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.repository.MangaMetadataRepository
class MangaMetadataRepositoryImpl(
private val handler: DatabaseHandler,
@@ -2,11 +2,11 @@ package eu.kanade.data.source
import eu.kanade.data.exh.feedSavedSearchMapper
import eu.kanade.data.exh.savedSearchMapper
import eu.kanade.domain.source.repository.FeedSavedSearchRepository
import exh.savedsearches.models.FeedSavedSearch
import exh.savedsearches.models.SavedSearch
import kotlinx.coroutines.flow.Flow
import tachiyomi.data.DatabaseHandler
import tachiyomi.domain.source.model.FeedSavedSearch
import tachiyomi.domain.source.model.SavedSearch
import tachiyomi.domain.source.repository.FeedSavedSearchRepository
class FeedSavedSearchRepositoryImpl(
private val handler: DatabaseHandler,
@@ -1,10 +1,10 @@
package eu.kanade.data.source
import eu.kanade.data.exh.savedSearchMapper
import eu.kanade.domain.source.repository.SavedSearchRepository
import exh.savedsearches.models.SavedSearch
import kotlinx.coroutines.flow.Flow
import tachiyomi.data.DatabaseHandler
import tachiyomi.domain.source.model.SavedSearch
import tachiyomi.domain.source.repository.SavedSearchRepository
class SavedSearchRepositoryImpl(
private val handler: DatabaseHandler,
@@ -38,9 +38,6 @@ import eu.kanade.domain.manga.interactor.InsertMergedReference
import eu.kanade.domain.manga.interactor.ReorderSortTag
import eu.kanade.domain.manga.interactor.SetMangaFilteredScanlators
import eu.kanade.domain.manga.interactor.UpdateMergedSettings
import eu.kanade.domain.manga.repository.FavoritesEntryRepository
import eu.kanade.domain.manga.repository.MangaMergeRepository
import eu.kanade.domain.manga.repository.MangaMetadataRepository
import eu.kanade.domain.source.interactor.CountFeedSavedSearchBySourceId
import eu.kanade.domain.source.interactor.CountFeedSavedSearchGlobal
import eu.kanade.domain.source.interactor.CreateSourceCategory
@@ -64,14 +61,17 @@ import eu.kanade.domain.source.interactor.InsertSavedSearch
import eu.kanade.domain.source.interactor.RenameSourceCategory
import eu.kanade.domain.source.interactor.SetSourceCategories
import eu.kanade.domain.source.interactor.ToggleExcludeFromDataSaver
import eu.kanade.domain.source.repository.FeedSavedSearchRepository
import eu.kanade.domain.source.repository.SavedSearchRepository
import eu.kanade.tachiyomi.source.online.MetadataSource
import exh.search.SearchEngine
import tachiyomi.data.manga.CustomMangaRepositoryImpl
import tachiyomi.domain.manga.interactor.GetCustomMangaInfo
import tachiyomi.domain.manga.interactor.SetCustomMangaInfo
import tachiyomi.domain.manga.repository.CustomMangaRepository
import tachiyomi.domain.manga.repository.FavoritesEntryRepository
import tachiyomi.domain.manga.repository.MangaMergeRepository
import tachiyomi.domain.manga.repository.MangaMetadataRepository
import tachiyomi.domain.source.repository.FeedSavedSearchRepository
import tachiyomi.domain.source.repository.SavedSearchRepository
import uy.kohesive.injekt.api.InjektModule
import uy.kohesive.injekt.api.InjektRegistrar
import uy.kohesive.injekt.api.addFactory
@@ -2,7 +2,6 @@ package eu.kanade.domain.chapter.interactor
import eu.kanade.domain.manga.interactor.GetMergedReferencesById
import eu.kanade.tachiyomi.util.system.logcat
import exh.merged.sql.models.MergedMangaReference
import exh.source.MERGED_SOURCE_ID
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
@@ -10,6 +9,7 @@ import kotlinx.coroutines.flow.flowOf
import logcat.LogPriority
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.chapter.repository.ChapterRepository
import tachiyomi.domain.manga.model.MergedMangaReference
class GetMergedChapterByMangaId(
private val chapterRepository: ChapterRepository,
@@ -1,6 +1,6 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.repository.MangaMergeRepository
import tachiyomi.domain.manga.repository.MangaMergeRepository
class DeleteByMergeId(
private val mangaMergeRepository: MangaMergeRepository,
@@ -1,6 +1,6 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.repository.FavoritesEntryRepository
import tachiyomi.domain.manga.repository.FavoritesEntryRepository
class DeleteFavoriteEntries(
private val favoriteEntryRepository: FavoritesEntryRepository,
@@ -1,6 +1,6 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.repository.MangaMergeRepository
import tachiyomi.domain.manga.repository.MangaMergeRepository
class DeleteMergeById(
private val mangaMergeRepository: MangaMergeRepository,
@@ -1,7 +1,7 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.repository.MangaMetadataRepository
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.repository.MangaMetadataRepository
class GetExhFavoriteMangaWithMetadata(
private val mangaMetadataRepository: MangaMetadataRepository,
@@ -1,7 +1,7 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.repository.FavoritesEntryRepository
import exh.favorites.sql.models.FavoriteEntry
import tachiyomi.domain.manga.model.FavoriteEntry
import tachiyomi.domain.manga.repository.FavoritesEntryRepository
class GetFavoriteEntries(
private val favoriteEntryRepository: FavoritesEntryRepository,
@@ -1,12 +1,12 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.repository.MangaMetadataRepository
import eu.kanade.tachiyomi.source.online.MetadataSource
import eu.kanade.tachiyomi.util.system.logcat
import exh.metadata.metadata.base.FlatMetadata
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
import logcat.LogPriority
import tachiyomi.domain.manga.repository.MangaMetadataRepository
class GetFlatMetadataById(
private val mangaMetadataRepository: MangaMetadataRepository,
@@ -1,6 +1,6 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.repository.MangaMetadataRepository
import tachiyomi.domain.manga.repository.MangaMetadataRepository
class GetIdsOfFavoriteMangaWithMetadata(
private val mangaMetadataRepository: MangaMetadataRepository,
@@ -1,10 +1,10 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.repository.MangaMergeRepository
import eu.kanade.tachiyomi.util.system.logcat
import kotlinx.coroutines.flow.Flow
import logcat.LogPriority
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.repository.MangaMergeRepository
class GetMergedManga(
private val mangaMergeRepository: MangaMergeRepository,
@@ -1,10 +1,10 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.repository.MangaMergeRepository
import eu.kanade.tachiyomi.util.system.logcat
import kotlinx.coroutines.flow.Flow
import logcat.LogPriority
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.repository.MangaMergeRepository
class GetMergedMangaById(
private val mangaMergeRepository: MangaMergeRepository,
@@ -1,7 +1,7 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.repository.MangaMergeRepository
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.repository.MangaMergeRepository
class GetMergedMangaForDownloading(
private val mangaMergeRepository: MangaMergeRepository,
@@ -1,10 +1,10 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.repository.MangaMergeRepository
import eu.kanade.tachiyomi.util.system.logcat
import exh.merged.sql.models.MergedMangaReference
import kotlinx.coroutines.flow.Flow
import logcat.LogPriority
import tachiyomi.domain.manga.model.MergedMangaReference
import tachiyomi.domain.manga.repository.MangaMergeRepository
class GetMergedReferencesById(
private val mangaMergeRepository: MangaMergeRepository,
@@ -1,7 +1,7 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.repository.MangaMetadataRepository
import exh.metadata.sql.models.SearchMetadata
import tachiyomi.domain.manga.repository.MangaMetadataRepository
class GetSearchMetadata(
private val mangaMetadataRepository: MangaMetadataRepository,
@@ -1,7 +1,7 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.repository.MangaMetadataRepository
import exh.metadata.sql.models.SearchTag
import tachiyomi.domain.manga.repository.MangaMetadataRepository
class GetSearchTags(
private val mangaMetadataRepository: MangaMetadataRepository,
@@ -1,7 +1,7 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.repository.MangaMetadataRepository
import exh.metadata.sql.models.SearchTitle
import tachiyomi.domain.manga.repository.MangaMetadataRepository
class GetSearchTitles(
private val mangaMetadataRepository: MangaMetadataRepository,
@@ -1,7 +1,7 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.repository.FavoritesEntryRepository
import exh.favorites.sql.models.FavoriteEntry
import tachiyomi.domain.manga.model.FavoriteEntry
import tachiyomi.domain.manga.repository.FavoritesEntryRepository
class InsertFavoriteEntries(
private val favoriteEntryRepository: FavoritesEntryRepository,
@@ -1,11 +1,11 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.repository.MangaMetadataRepository
import eu.kanade.tachiyomi.source.online.MetadataSource
import eu.kanade.tachiyomi.util.system.logcat
import exh.metadata.metadata.base.FlatMetadata
import exh.metadata.metadata.base.RaisedSearchMetadata
import logcat.LogPriority
import tachiyomi.domain.manga.repository.MangaMetadataRepository
class InsertFlatMetadata(
private val mangaMetadataRepository: MangaMetadataRepository,
@@ -1,7 +1,7 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.repository.MangaMergeRepository
import exh.merged.sql.models.MergedMangaReference
import tachiyomi.domain.manga.model.MergedMangaReference
import tachiyomi.domain.manga.repository.MangaMergeRepository
class InsertMergedReference(
private val mangaMergedRepository: MangaMergeRepository,
@@ -1,7 +1,7 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.model.MergeMangaSettingsUpdate
import eu.kanade.domain.manga.repository.MangaMergeRepository
import tachiyomi.domain.manga.model.MergeMangaSettingsUpdate
import tachiyomi.domain.manga.repository.MangaMergeRepository
class UpdateMergedSettings(
private val mangaMergeRepository: MangaMergeRepository,
@@ -1,10 +0,0 @@
package eu.kanade.domain.manga.model
data class MergeMangaSettingsUpdate(
val id: Long,
var isInfoManga: Boolean?,
var getChapterUpdates: Boolean?,
var chapterPriority: Int?,
var downloadChapters: Boolean?,
var chapterSortMode: Int?,
)
@@ -1,11 +0,0 @@
package eu.kanade.domain.manga.repository
import exh.favorites.sql.models.FavoriteEntry
interface FavoritesEntryRepository {
suspend fun deleteAll()
suspend fun insertAll(favoriteEntries: List<FavoriteEntry>)
suspend fun selectAll(): List<FavoriteEntry>
}
@@ -1,34 +0,0 @@
package eu.kanade.domain.manga.repository
import eu.kanade.domain.manga.model.MergeMangaSettingsUpdate
import exh.merged.sql.models.MergedMangaReference
import kotlinx.coroutines.flow.Flow
import tachiyomi.domain.manga.model.Manga
interface MangaMergeRepository {
suspend fun getMergedManga(): List<Manga>
suspend fun subscribeMergedManga(): Flow<List<Manga>>
suspend fun getMergedMangaById(id: Long): List<Manga>
suspend fun subscribeMergedMangaById(id: Long): Flow<List<Manga>>
suspend fun getReferencesById(id: Long): List<MergedMangaReference>
suspend fun subscribeReferencesById(id: Long): Flow<List<MergedMangaReference>>
suspend fun updateSettings(update: MergeMangaSettingsUpdate): Boolean
suspend fun updateAllSettings(values: List<MergeMangaSettingsUpdate>): Boolean
suspend fun insert(reference: MergedMangaReference): Long?
suspend fun insertAll(references: List<MergedMangaReference>)
suspend fun deleteById(id: Long)
suspend fun deleteByMergeId(mergeId: Long)
suspend fun getMergeMangaForDownloading(mergeId: Long): List<Manga>
}
@@ -1,33 +0,0 @@
package eu.kanade.domain.manga.repository
import exh.metadata.metadata.base.FlatMetadata
import exh.metadata.metadata.base.RaisedSearchMetadata
import exh.metadata.sql.models.SearchMetadata
import exh.metadata.sql.models.SearchTag
import exh.metadata.sql.models.SearchTitle
import kotlinx.coroutines.flow.Flow
import tachiyomi.domain.manga.model.Manga
interface MangaMetadataRepository {
suspend fun getMetadataById(id: Long): SearchMetadata?
fun subscribeMetadataById(id: Long): Flow<SearchMetadata?>
suspend fun getTagsById(id: Long): List<SearchTag>
fun subscribeTagsById(id: Long): Flow<List<SearchTag>>
suspend fun getTitlesById(id: Long): List<SearchTitle>
fun subscribeTitlesById(id: Long): Flow<List<SearchTitle>>
suspend fun insertFlatMetadata(flatMetadata: FlatMetadata)
suspend fun insertMetadata(metadata: RaisedSearchMetadata) = insertFlatMetadata(metadata.flatten())
suspend fun getExhFavoriteMangaWithMetadata(): List<Manga>
suspend fun getIdsOfFavoriteMangaWithMetadata(): List<Long>
suspend fun getSearchMetadata(): List<SearchMetadata>
}
@@ -1,6 +1,6 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.repository.FeedSavedSearchRepository
import tachiyomi.domain.source.repository.FeedSavedSearchRepository
class CountFeedSavedSearchBySourceId(
private val feedSavedSearchRepository: FeedSavedSearchRepository,
@@ -1,6 +1,6 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.repository.FeedSavedSearchRepository
import tachiyomi.domain.source.repository.FeedSavedSearchRepository
class CountFeedSavedSearchGlobal(
private val feedSavedSearchRepository: FeedSavedSearchRepository,
@@ -1,6 +1,6 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.repository.FeedSavedSearchRepository
import tachiyomi.domain.source.repository.FeedSavedSearchRepository
class DeleteFeedSavedSearchById(
private val feedSavedSearchRepository: FeedSavedSearchRepository,
@@ -1,6 +1,6 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.repository.SavedSearchRepository
import tachiyomi.domain.source.repository.SavedSearchRepository
class DeleteSavedSearchById(
private val savedSearchRepository: SavedSearchRepository,
@@ -3,8 +3,6 @@ package eu.kanade.domain.source.interactor
import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.util.lang.withIOContext
import exh.log.xLogE
import exh.savedsearches.EXHSavedSearch
import exh.savedsearches.models.SavedSearch
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flowOn
@@ -12,6 +10,8 @@ import kotlinx.coroutines.flow.map
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonArray
import tachiyomi.domain.source.model.EXHSavedSearch
import tachiyomi.domain.source.model.SavedSearch
import xyz.nulldev.ts.api.http.serializer.FilterSerializer
class GetExhSavedSearch(
@@ -1,8 +1,8 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.repository.FeedSavedSearchRepository
import exh.savedsearches.models.FeedSavedSearch
import kotlinx.coroutines.flow.Flow
import tachiyomi.domain.source.model.FeedSavedSearch
import tachiyomi.domain.source.repository.FeedSavedSearchRepository
class GetFeedSavedSearchBySourceId(
private val feedSavedSearchRepository: FeedSavedSearchRepository,
@@ -1,8 +1,8 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.repository.FeedSavedSearchRepository
import exh.savedsearches.models.FeedSavedSearch
import kotlinx.coroutines.flow.Flow
import tachiyomi.domain.source.model.FeedSavedSearch
import tachiyomi.domain.source.repository.FeedSavedSearchRepository
class GetFeedSavedSearchGlobal(
private val feedSavedSearchRepository: FeedSavedSearchRepository,
@@ -1,7 +1,7 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.repository.SavedSearchRepository
import exh.savedsearches.models.SavedSearch
import tachiyomi.domain.source.model.SavedSearch
import tachiyomi.domain.source.repository.SavedSearchRepository
class GetSavedSearchById(
private val savedSearchRepository: SavedSearchRepository,
@@ -1,8 +1,8 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.repository.SavedSearchRepository
import exh.savedsearches.models.SavedSearch
import kotlinx.coroutines.flow.Flow
import tachiyomi.domain.source.model.SavedSearch
import tachiyomi.domain.source.repository.SavedSearchRepository
class GetSavedSearchBySourceId(
private val savedSearchRepository: SavedSearchRepository,
@@ -1,7 +1,7 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.repository.FeedSavedSearchRepository
import exh.savedsearches.models.SavedSearch
import tachiyomi.domain.source.model.SavedSearch
import tachiyomi.domain.source.repository.FeedSavedSearchRepository
class GetSavedSearchBySourceIdFeed(
private val feedSavedSearchRepository: FeedSavedSearchRepository,
@@ -1,7 +1,7 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.repository.FeedSavedSearchRepository
import exh.savedsearches.models.SavedSearch
import tachiyomi.domain.source.model.SavedSearch
import tachiyomi.domain.source.repository.FeedSavedSearchRepository
class GetSavedSearchGlobalFeed(
private val feedSavedSearchRepository: FeedSavedSearchRepository,
@@ -1,10 +1,10 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.repository.FeedSavedSearchRepository
import eu.kanade.tachiyomi.util.system.logcat
import exh.savedsearches.models.FeedSavedSearch
import logcat.LogPriority
import logcat.asLog
import tachiyomi.domain.source.model.FeedSavedSearch
import tachiyomi.domain.source.repository.FeedSavedSearchRepository
class InsertFeedSavedSearch(
private val feedSavedSearchRepository: FeedSavedSearchRepository,
@@ -1,10 +1,10 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.repository.SavedSearchRepository
import eu.kanade.tachiyomi.util.system.logcat
import exh.savedsearches.models.SavedSearch
import logcat.LogPriority
import logcat.asLog
import tachiyomi.domain.source.model.SavedSearch
import tachiyomi.domain.source.repository.SavedSearchRepository
class InsertSavedSearch(
private val savedSearchRepository: SavedSearchRepository,
@@ -1,30 +0,0 @@
package eu.kanade.domain.source.repository
import exh.savedsearches.models.FeedSavedSearch
import exh.savedsearches.models.SavedSearch
import kotlinx.coroutines.flow.Flow
interface FeedSavedSearchRepository {
suspend fun getGlobal(): List<FeedSavedSearch>
fun getGlobalAsFlow(): Flow<List<FeedSavedSearch>>
suspend fun getGlobalFeedSavedSearch(): List<SavedSearch>
suspend fun countGlobal(): Long
suspend fun getBySourceId(sourceId: Long): List<FeedSavedSearch>
fun getBySourceIdAsFlow(sourceId: Long): Flow<List<FeedSavedSearch>>
suspend fun getBySourceIdFeedSavedSearch(sourceId: Long): List<SavedSearch>
suspend fun countBySourceId(sourceId: Long): Long
suspend fun delete(feedSavedSearchId: Long)
suspend fun insert(feedSavedSearch: FeedSavedSearch): Long?
suspend fun insertAll(feedSavedSearch: List<FeedSavedSearch>)
}
@@ -1,19 +0,0 @@
package eu.kanade.domain.source.repository
import exh.savedsearches.models.SavedSearch
import kotlinx.coroutines.flow.Flow
interface SavedSearchRepository {
suspend fun getById(savedSearchId: Long): SavedSearch?
suspend fun getBySourceId(sourceId: Long): List<SavedSearch>
fun getBySourceIdAsFlow(sourceId: Long): Flow<List<SavedSearch>>
suspend fun delete(savedSearchId: Long)
suspend fun insert(savedSearch: SavedSearch): Long?
suspend fun insertAll(savedSearch: List<SavedSearch>)
}
@@ -42,10 +42,10 @@ import eu.kanade.presentation.util.topSmallPaddingValues
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.ui.browse.feed.FeedScreenState
import exh.savedsearches.models.FeedSavedSearch
import exh.savedsearches.models.SavedSearch
import kotlinx.coroutines.delay
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.source.model.FeedSavedSearch
import tachiyomi.domain.source.model.SavedSearch
import kotlin.time.Duration.Companion.seconds
data class FeedItemUI(
@@ -22,9 +22,9 @@ import eu.kanade.presentation.components.SearchToolbar
import eu.kanade.presentation.util.plus
import eu.kanade.presentation.util.topSmallPaddingValues
import eu.kanade.tachiyomi.R
import exh.savedsearches.models.FeedSavedSearch
import exh.savedsearches.models.SavedSearch
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.source.model.FeedSavedSearch
import tachiyomi.domain.source.model.SavedSearch
sealed class SourceFeedUI {
abstract val id: Long
@@ -1,8 +1,8 @@
package eu.kanade.tachiyomi.data.backup.models
import exh.merged.sql.models.MergedMangaReference
import kotlinx.serialization.Serializable
import kotlinx.serialization.protobuf.ProtoNumber
import tachiyomi.domain.manga.model.MergedMangaReference
/*
* SY merged manga backup class
@@ -19,7 +19,6 @@ import eu.kanade.tachiyomi.source.model.copy
import eu.kanade.tachiyomi.source.online.HttpSource
import eu.kanade.tachiyomi.util.lang.withIOContext
import eu.kanade.tachiyomi.util.shouldDownloadNewChapters
import exh.merged.sql.models.MergedMangaReference
import exh.source.MERGED_SOURCE_ID
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.async
@@ -30,6 +29,7 @@ import kotlinx.coroutines.sync.withPermit
import okhttp3.Response
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.model.MergedMangaReference
import uy.kohesive.injekt.injectLazy
class MergedSource : HttpSource() {
@@ -30,8 +30,6 @@ import eu.kanade.tachiyomi.util.lang.withIOContext
import eu.kanade.tachiyomi.util.lang.withNonCancellableContext
import eu.kanade.tachiyomi.util.system.LocaleHelper
import eu.kanade.tachiyomi.util.system.logcat
import exh.savedsearches.models.FeedSavedSearch
import exh.savedsearches.models.SavedSearch
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.async
import kotlinx.coroutines.awaitAll
@@ -49,6 +47,8 @@ import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json
import logcat.LogPriority
import tachiyomi.domain.manga.model.toMangaUpdate
import tachiyomi.domain.source.model.FeedSavedSearch
import tachiyomi.domain.source.model.SavedSearch
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import xyz.nulldev.ts.api.http.serializer.FilterSerializer
@@ -74,8 +74,6 @@ import eu.kanade.tachiyomi.util.removeCovers
import eu.kanade.tachiyomi.util.system.logcat
import eu.kanade.tachiyomi.util.system.toast
import exh.metadata.metadata.base.RaisedSearchMetadata
import exh.savedsearches.EXHSavedSearch
import exh.savedsearches.models.SavedSearch
import exh.source.getMainSource
import exh.util.nullIfBlank
import kotlinx.coroutines.flow.Flow
@@ -100,6 +98,8 @@ import logcat.LogPriority
import tachiyomi.domain.category.model.Category
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.model.toMangaUpdate
import tachiyomi.domain.source.model.EXHSavedSearch
import tachiyomi.domain.source.model.SavedSearch
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import xyz.nulldev.ts.api.http.serializer.FilterSerializer
@@ -17,8 +17,8 @@ import eu.kanade.tachiyomi.source.online.all.MangaDex
import eu.kanade.tachiyomi.widget.SimpleNavigationView
import eu.kanade.tachiyomi.widget.sheet.BaseBottomSheetDialog
import exh.md.MangaDexFabHeaderAdapter
import exh.savedsearches.EXHSavedSearch
import exh.source.getMainSource
import tachiyomi.domain.source.model.EXHSavedSearch
class SourceFilterSheet(
context: Context,
@@ -26,12 +26,12 @@ import eu.kanade.tachiyomi.ui.browse.source.browse.SourceFilterSheet
import eu.kanade.tachiyomi.ui.manga.MangaScreen
import eu.kanade.tachiyomi.util.lang.launchUI
import eu.kanade.tachiyomi.util.system.toast
import exh.savedsearches.models.SavedSearch
import exh.util.nullIfBlank
import kotlinx.coroutines.CoroutineScope
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.source.model.SavedSearch
import xyz.nulldev.ts.api.http.serializer.FilterSerializer
class SourceFeedScreen(val sourceId: Long) : Screen {
@@ -150,7 +150,7 @@ class SourceFeedScreen(val sourceId: Long) : Screen {
}
if (search.filterList != null) {
screenModel.setFilters(FilterList(search.filterList))
screenModel.setFilters(FilterList(search.filterList!!))
filterSheet?.setFilters(state.filterItems)
}
val allDefault = search.filterList != null && state.filters == screenModel.source.getFilterList()
@@ -29,8 +29,6 @@ import eu.kanade.tachiyomi.util.lang.launchNonCancellable
import eu.kanade.tachiyomi.util.lang.withIOContext
import eu.kanade.tachiyomi.util.lang.withNonCancellableContext
import eu.kanade.tachiyomi.util.system.logcat
import exh.savedsearches.models.FeedSavedSearch
import exh.savedsearches.models.SavedSearch
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.async
import kotlinx.coroutines.awaitAll
@@ -44,6 +42,8 @@ import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json
import logcat.LogPriority
import tachiyomi.domain.manga.model.toMangaUpdate
import tachiyomi.domain.source.model.FeedSavedSearch
import tachiyomi.domain.source.model.SavedSearch
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import xyz.nulldev.ts.api.http.serializer.FilterSerializer
@@ -38,7 +38,6 @@ import eu.kanade.domain.manga.interactor.SetMangaChapterFlags
import eu.kanade.domain.manga.interactor.SetMangaFilteredScanlators
import eu.kanade.domain.manga.interactor.UpdateManga
import eu.kanade.domain.manga.interactor.UpdateMergedSettings
import eu.kanade.domain.manga.model.MergeMangaSettingsUpdate
import eu.kanade.domain.manga.model.PagePreview
import eu.kanade.domain.manga.model.copyFrom
import eu.kanade.domain.manga.model.downloadedFilter
@@ -85,7 +84,6 @@ import exh.eh.EHentaiUpdateHelper
import exh.log.xLogD
import exh.md.utils.FollowStatus
import exh.md.utils.MdUtil
import exh.merged.sql.models.MergedMangaReference
import exh.metadata.metadata.base.FlatMetadata
import exh.metadata.metadata.base.RaisedSearchMetadata
import exh.source.MERGED_SOURCE_ID
@@ -115,6 +113,8 @@ import tachiyomi.domain.manga.interactor.SetCustomMangaInfo
import tachiyomi.domain.manga.model.CustomMangaInfo
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.model.MangaUpdate
import tachiyomi.domain.manga.model.MergeMangaSettingsUpdate
import tachiyomi.domain.manga.model.MergedMangaReference
import tachiyomi.domain.manga.model.TriStateFilter
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
@@ -9,7 +9,7 @@ import eu.kanade.tachiyomi.databinding.EditMergedSettingsItemBinding
import eu.kanade.tachiyomi.source.SourceManager
import eu.kanade.tachiyomi.util.system.dpToPx
import eu.kanade.tachiyomi.util.system.getResourceColor
import exh.merged.sql.models.MergedMangaReference
import tachiyomi.domain.manga.model.MergedMangaReference
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
@@ -7,8 +7,8 @@ import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
import eu.davidea.flexibleadapter.items.IFlexible
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.databinding.EditMergedSettingsItemBinding
import exh.merged.sql.models.MergedMangaReference
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.model.MergedMangaReference
class EditMergedMangaItem(val mergedManga: Manga?, val mergedMangaReference: MergedMangaReference) : AbstractFlexibleItem<EditMergedMangaHolder>() {
@@ -27,9 +27,9 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.databinding.EditMergedSettingsDialogBinding
import eu.kanade.tachiyomi.ui.manga.MergedMangaData
import eu.kanade.tachiyomi.util.system.toast
import exh.merged.sql.models.MergedMangaReference
import exh.source.MERGED_SOURCE_ID
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.model.MergedMangaReference
@Stable
class EditMergedSettingsState(
@@ -10,7 +10,7 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.databinding.EditMergedSettingsHeaderBinding
import eu.kanade.tachiyomi.source.SourceManager
import exh.log.xLogD
import exh.merged.sql.models.MergedMangaReference
import tachiyomi.domain.manga.model.MergedMangaReference
import uy.kohesive.injekt.injectLazy
class EditMergedSettingsHeaderAdapter(private val state: EditMergedSettingsState, adapter: EditMergedMangaAdapter) : RecyclerView.Adapter<EditMergedSettingsHeaderAdapter.HeaderViewHolder>() {
@@ -14,8 +14,8 @@ import eu.kanade.tachiyomi.ui.reader.model.ReaderChapter
import eu.kanade.tachiyomi.util.lang.withIOContext
import eu.kanade.tachiyomi.util.system.logcat
import exh.debug.DebugFunctions.readerPrefs
import exh.merged.sql.models.MergedMangaReference
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.model.MergedMangaReference
/**
* Loader used to retrieve the [PageLoader] for a given chapter.