From 6fbf250796e33e4bc87ad0248b825192c41c79c7 Mon Sep 17 00:00:00 2001 From: arkon Date: Tue, 7 Mar 2023 22:38:02 -0500 Subject: [PATCH] Move more things to domain/data modules (cherry picked from commit bebd4be43d73617de2cfbc1ff4289e81f535a8e6) # Conflicts: # app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt # app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsGeneralScreen.kt # app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt # app/src/main/java/eu/kanade/tachiyomi/AppModule.kt # app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt # app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt # app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt # data/src/main/java/tachiyomi/data/source/EHentaiPagingSource.kt # data/src/main/java/tachiyomi/data/source/SourcePagingSource.kt # domain/build.gradle.kts # domain/src/main/java/tachiyomi/domain/category/interactor/SetDisplayModeForCategory.kt # domain/src/main/java/tachiyomi/domain/category/interactor/SetSortModeForCategory.kt # domain/src/main/java/tachiyomi/domain/history/interactor/GetHistoryByMangaId.kt # domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt --- .../java/eu/kanade/domain/DomainModule.kt | 20 +++---- .../java/eu/kanade/domain/SYDomainModule.kt | 6 +- .../chapter/interactor/SetReadStatus.kt | 1 + .../domain/manga/interactor/CreateSortTag.kt | 2 +- .../domain/manga/interactor/DeleteSortTag.kt | 2 +- .../domain/manga/interactor/GetSortTag.kt | 2 +- .../domain/manga/interactor/ReorderSortTag.kt | 2 +- .../source/interactor/GetEnabledSources.kt | 2 +- .../interactor/GetLanguagesWithSources.kt | 2 +- .../interactor/GetSourcesWithFavoriteCount.kt | 2 +- .../library/LibrarySettingsDialog.kt | 16 ++++- .../settings/screen/ClearDatabaseScreen.kt | 2 +- .../settings/screen/SettingsAdvancedScreen.kt | 2 +- .../more/settings/screen/SettingsEhScreen.kt | 4 +- .../settings/screen/SettingsGeneralScreen.kt | 2 +- .../settings/screen/SettingsLibraryScreen.kt | 20 +++---- .../java/eu/kanade/tachiyomi/AppModule.kt | 2 +- .../java/eu/kanade/tachiyomi/Migrations.kt | 4 +- .../tachiyomi/data/backup/BackupManager.kt | 2 +- .../data/library/LibraryUpdateJob.kt | 20 +++---- .../data/preference/PreferenceValues.kt | 9 --- .../source/online/all/MergedSource.kt | 2 +- .../tachiyomi/ui/browse/feed/FeedTab.kt | 2 +- .../process/MigrationListScreenModel.kt | 4 +- .../source/browse/BrowseSourceScreenModel.kt | 8 +-- .../ui/browse/source/feed/SourceFeedScreen.kt | 2 +- .../ui/category/CategoryScreenModel.kt | 2 +- .../ui/history/HistoryScreenModel.kt | 2 +- .../eu/kanade/tachiyomi/ui/home/HomeScreen.kt | 2 +- .../ui/library/LibraryScreenModel.kt | 6 +- .../ui/library/LibrarySettingsScreenModel.kt | 6 +- .../kanade/tachiyomi/ui/library/LibraryTab.kt | 2 +- .../kanade/tachiyomi/ui/main/MainActivity.kt | 2 +- .../tachiyomi/ui/manga/MangaScreenModel.kt | 8 +-- .../tachiyomi/ui/reader/ReaderViewModel.kt | 6 +- .../tachiyomi/ui/stats/StatsScreenModel.kt | 8 +-- .../ui/updates/UpdatesScreenModel.kt | 2 +- app/src/main/java/exh/EXHMigrations.kt | 4 +- app/src/main/java/exh/debug/DebugFunctions.kt | 2 +- .../main/java/exh/eh/EHentaiUpdateHelper.kt | 2 +- .../main/java/exh/eh/EHentaiUpdateWorker.kt | 4 +- .../java/exh/favorites/FavoritesSyncHelper.kt | 2 +- .../md/follows/MangaDexFollowsScreenModel.kt | 2 +- .../md/similar/MangaDexSimilarScreenModel.kt | 2 +- .../java/exh/recs/RecommendsScreenModel.kt | 2 +- app/src/main/java/exh/source/SourceHelper.kt | 58 ------------------ .../data/source/EHentaiPagingSource.kt | 13 ++-- .../data/source/SourcePagingSource.kt | 38 ++++++------ .../data/source/SourceRepositoryImpl.kt | 18 +++--- domain/build.gradle.kts | 2 + .../java/exh/source/DomainSourceHelpers.kt | 60 +++++++++++++++++++ .../interactor/CreateCategoryWithName.kt | 4 +- .../category/interactor/ResetCategoryFlags.kt | 4 +- .../interactor/SetDisplayModeForCategory.kt | 6 +- .../interactor/SetSortModeForCategory.kt | 6 +- .../interactor/GetMergedChapterByMangaId.kt | 4 +- .../interactor/SetDefaultChapterSettings.kt | 4 +- .../history/interactor/GetHistoryByMangaId.kt | 2 +- .../history/interactor/GetNextChapters.kt | 4 +- .../domain/library/model/GroupLibraryMode.kt | 2 +- .../domain/library/model/LibraryGroup.kt | 14 +---- .../library/service/LibraryPreferences.kt | 37 +++++++++--- .../interactor/GetMergedReferencesById.kt | 2 +- .../source/interactor/GetRemoteManga.kt | 6 +- .../GetSourcesWithNonLibraryManga.kt | 4 +- .../source/repository/SourceRepository.kt | 8 ++- 66 files changed, 258 insertions(+), 246 deletions(-) rename {app/src/main/java/eu/kanade => data/src/main/java/tachiyomi}/data/source/EHentaiPagingSource.kt (71%) rename {app/src/main/java/eu/kanade => data/src/main/java/tachiyomi}/data/source/SourceRepositoryImpl.kt (87%) create mode 100644 domain/src/main/java/exh/source/DomainSourceHelpers.kt rename {app/src/main/java/eu/kanade => domain/src/main/java/tachiyomi}/domain/category/interactor/CreateCategoryWithName.kt (93%) rename {app/src/main/java/eu/kanade => domain/src/main/java/tachiyomi}/domain/category/interactor/ResetCategoryFlags.kt (82%) rename {app/src/main/java/eu/kanade => domain/src/main/java/tachiyomi}/domain/category/interactor/SetDisplayModeForCategory.kt (89%) rename {app/src/main/java/eu/kanade => domain/src/main/java/tachiyomi}/domain/category/interactor/SetSortModeForCategory.kt (90%) rename {app/src/main/java/eu/kanade => domain/src/main/java/tachiyomi}/domain/chapter/interactor/GetMergedChapterByMangaId.kt (97%) rename {app/src/main/java/eu/kanade => domain/src/main/java/tachiyomi}/domain/chapter/interactor/SetDefaultChapterSettings.kt (92%) rename {app/src/main/java/eu/kanade => domain/src/main/java/tachiyomi}/domain/history/interactor/GetHistoryByMangaId.kt (87%) rename {app/src/main/java/eu/kanade => domain/src/main/java/tachiyomi}/domain/history/interactor/GetNextChapters.kt (96%) rename {app/src/main/java/eu/kanade => domain/src/main/java/tachiyomi}/domain/library/model/GroupLibraryMode.kt (66%) rename {app/src/main/java/eu/kanade => domain/src/main/java/tachiyomi}/domain/library/model/LibraryGroup.kt (56%) rename {app/src/main/java/eu/kanade => domain/src/main/java/tachiyomi}/domain/library/service/LibraryPreferences.kt (86%) rename {app/src/main/java/eu/kanade => domain/src/main/java/tachiyomi}/domain/manga/interactor/GetMergedReferencesById.kt (94%) rename {app/src/main/java/eu/kanade => domain/src/main/java/tachiyomi}/domain/source/interactor/GetRemoteManga.kt (79%) rename {app/src/main/java/eu/kanade => domain/src/main/java/tachiyomi}/domain/source/interactor/GetSourcesWithNonLibraryManga.kt (74%) rename {app/src/main/java/eu/kanade => domain/src/main/java/tachiyomi}/domain/source/repository/SourceRepository.kt (69%) diff --git a/app/src/main/java/eu/kanade/domain/DomainModule.kt b/app/src/main/java/eu/kanade/domain/DomainModule.kt index 4ac38b38a..7f03f3745 100644 --- a/app/src/main/java/eu/kanade/domain/DomainModule.kt +++ b/app/src/main/java/eu/kanade/domain/DomainModule.kt @@ -1,11 +1,5 @@ package eu.kanade.domain -import eu.kanade.data.source.SourceRepositoryImpl -import eu.kanade.domain.category.interactor.CreateCategoryWithName -import eu.kanade.domain.category.interactor.ResetCategoryFlags -import eu.kanade.domain.category.interactor.SetDisplayModeForCategory -import eu.kanade.domain.category.interactor.SetSortModeForCategory -import eu.kanade.domain.chapter.interactor.SetMangaDefaultChapterFlags import eu.kanade.domain.chapter.interactor.SetReadStatus import eu.kanade.domain.chapter.interactor.SyncChaptersWithSource import eu.kanade.domain.chapter.interactor.SyncChaptersWithTrackServiceTwoWay @@ -13,39 +7,42 @@ import eu.kanade.domain.download.interactor.DeleteDownload import eu.kanade.domain.extension.interactor.GetExtensionLanguages import eu.kanade.domain.extension.interactor.GetExtensionSources import eu.kanade.domain.extension.interactor.GetExtensionsByType -import eu.kanade.domain.history.interactor.GetNextChapters import eu.kanade.domain.manga.interactor.SetMangaViewerFlags import eu.kanade.domain.manga.interactor.UpdateManga import eu.kanade.domain.source.interactor.GetEnabledSources import eu.kanade.domain.source.interactor.GetLanguagesWithSources -import eu.kanade.domain.source.interactor.GetRemoteManga import eu.kanade.domain.source.interactor.GetSourcesWithFavoriteCount -import eu.kanade.domain.source.interactor.GetSourcesWithNonLibraryManga import eu.kanade.domain.source.interactor.SetMigrateSorting import eu.kanade.domain.source.interactor.ToggleLanguage import eu.kanade.domain.source.interactor.ToggleSource import eu.kanade.domain.source.interactor.ToggleSourcePin -import eu.kanade.domain.source.repository.SourceRepository import tachiyomi.data.category.CategoryRepositoryImpl import tachiyomi.data.chapter.ChapterRepositoryImpl import tachiyomi.data.history.HistoryRepositoryImpl import tachiyomi.data.manga.MangaRepositoryImpl import tachiyomi.data.source.SourceDataRepositoryImpl +import tachiyomi.data.source.SourceRepositoryImpl import tachiyomi.data.track.TrackRepositoryImpl import tachiyomi.data.updates.UpdatesRepositoryImpl +import tachiyomi.domain.category.interactor.CreateCategoryWithName import tachiyomi.domain.category.interactor.DeleteCategory import tachiyomi.domain.category.interactor.GetCategories import tachiyomi.domain.category.interactor.RenameCategory import tachiyomi.domain.category.interactor.ReorderCategory +import tachiyomi.domain.category.interactor.ResetCategoryFlags +import tachiyomi.domain.category.interactor.SetDisplayModeForCategory import tachiyomi.domain.category.interactor.SetMangaCategories +import tachiyomi.domain.category.interactor.SetSortModeForCategory import tachiyomi.domain.category.interactor.UpdateCategory import tachiyomi.domain.category.repository.CategoryRepository import tachiyomi.domain.chapter.interactor.GetChapter import tachiyomi.domain.chapter.interactor.GetChapterByMangaId +import tachiyomi.domain.chapter.interactor.SetMangaDefaultChapterFlags import tachiyomi.domain.chapter.interactor.ShouldUpdateDbChapter import tachiyomi.domain.chapter.interactor.UpdateChapter import tachiyomi.domain.chapter.repository.ChapterRepository import tachiyomi.domain.history.interactor.GetHistory +import tachiyomi.domain.history.interactor.GetNextChapters import tachiyomi.domain.history.interactor.GetTotalReadDuration import tachiyomi.domain.history.interactor.RemoveHistory import tachiyomi.domain.history.interactor.UpsertHistory @@ -59,7 +56,10 @@ import tachiyomi.domain.manga.interactor.NetworkToLocalManga import tachiyomi.domain.manga.interactor.ResetViewerFlags import tachiyomi.domain.manga.interactor.SetMangaChapterFlags import tachiyomi.domain.manga.repository.MangaRepository +import tachiyomi.domain.source.interactor.GetRemoteManga +import tachiyomi.domain.source.interactor.GetSourcesWithNonLibraryManga import tachiyomi.domain.source.repository.SourceDataRepository +import tachiyomi.domain.source.repository.SourceRepository import tachiyomi.domain.track.interactor.DeleteTrack import tachiyomi.domain.track.interactor.GetTracks import tachiyomi.domain.track.interactor.GetTracksPerManga diff --git a/app/src/main/java/eu/kanade/domain/SYDomainModule.kt b/app/src/main/java/eu/kanade/domain/SYDomainModule.kt index cd3682b24..21fd3c617 100644 --- a/app/src/main/java/eu/kanade/domain/SYDomainModule.kt +++ b/app/src/main/java/eu/kanade/domain/SYDomainModule.kt @@ -3,8 +3,6 @@ package eu.kanade.domain import android.app.Application import eu.kanade.domain.chapter.interactor.DeleteChapters import eu.kanade.domain.chapter.interactor.GetChapterByUrl -import eu.kanade.domain.chapter.interactor.GetMergedChapterByMangaId -import eu.kanade.domain.history.interactor.GetHistoryByMangaId import eu.kanade.domain.manga.interactor.CreateSortTag import eu.kanade.domain.manga.interactor.DeleteByMergeId import eu.kanade.domain.manga.interactor.DeleteFavoriteEntries @@ -20,7 +18,6 @@ import eu.kanade.domain.manga.interactor.GetMangaBySource import eu.kanade.domain.manga.interactor.GetMergedManga import eu.kanade.domain.manga.interactor.GetMergedMangaById import eu.kanade.domain.manga.interactor.GetMergedMangaForDownloading -import eu.kanade.domain.manga.interactor.GetMergedReferencesById import eu.kanade.domain.manga.interactor.GetPagePreviews import eu.kanade.domain.manga.interactor.GetSearchMetadata import eu.kanade.domain.manga.interactor.GetSearchTags @@ -63,8 +60,11 @@ import tachiyomi.data.manga.MangaMergeRepositoryImpl import tachiyomi.data.manga.MangaMetadataRepositoryImpl import tachiyomi.data.source.FeedSavedSearchRepositoryImpl import tachiyomi.data.source.SavedSearchRepositoryImpl +import tachiyomi.domain.chapter.interactor.GetMergedChapterByMangaId +import tachiyomi.domain.history.interactor.GetHistoryByMangaId import tachiyomi.domain.manga.interactor.GetCustomMangaInfo import tachiyomi.domain.manga.interactor.GetManga +import tachiyomi.domain.manga.interactor.GetMergedReferencesById import tachiyomi.domain.manga.interactor.SetCustomMangaInfo import tachiyomi.domain.manga.repository.CustomMangaRepository import tachiyomi.domain.manga.repository.FavoritesEntryRepository diff --git a/app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt b/app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt index 0078faf91..59d7a0ec9 100644 --- a/app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt +++ b/app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt @@ -5,6 +5,7 @@ import exh.source.MERGED_SOURCE_ID import logcat.LogPriority import tachiyomi.core.util.lang.withNonCancellableContext import tachiyomi.core.util.system.logcat +import tachiyomi.domain.chapter.interactor.GetMergedChapterByMangaId import tachiyomi.domain.chapter.model.Chapter import tachiyomi.domain.chapter.model.ChapterUpdate import tachiyomi.domain.chapter.repository.ChapterRepository diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/CreateSortTag.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/CreateSortTag.kt index 58d466e9a..3458fe4b6 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/CreateSortTag.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/CreateSortTag.kt @@ -1,7 +1,7 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.tachiyomi.util.preference.plusAssign +import tachiyomi.domain.library.service.LibraryPreferences class CreateSortTag( private val preferences: LibraryPreferences, diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/DeleteSortTag.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/DeleteSortTag.kt index 9d0f61472..b113aa535 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/DeleteSortTag.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/DeleteSortTag.kt @@ -1,6 +1,6 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.library.service.LibraryPreferences +import tachiyomi.domain.library.service.LibraryPreferences class DeleteSortTag( private val preferences: LibraryPreferences, diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/GetSortTag.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/GetSortTag.kt index 4a5085c97..f3b3ab682 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/GetSortTag.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/GetSortTag.kt @@ -1,8 +1,8 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.library.service.LibraryPreferences import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map +import tachiyomi.domain.library.service.LibraryPreferences class GetSortTag(private val preferences: LibraryPreferences) { diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/ReorderSortTag.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/ReorderSortTag.kt index 00bef3b82..62cbf4d94 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/ReorderSortTag.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/ReorderSortTag.kt @@ -1,6 +1,6 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.library.service.LibraryPreferences +import tachiyomi.domain.library.service.LibraryPreferences class ReorderSortTag( private val preferences: LibraryPreferences, diff --git a/app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt b/app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt index b79137bb2..faebfd8ee 100644 --- a/app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt +++ b/app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt @@ -1,6 +1,5 @@ package eu.kanade.domain.source.interactor -import eu.kanade.domain.source.repository.SourceRepository import eu.kanade.domain.source.service.SourcePreferences import exh.source.BlacklistedSources import kotlinx.coroutines.flow.Flow @@ -9,6 +8,7 @@ import kotlinx.coroutines.flow.distinctUntilChanged import tachiyomi.domain.source.model.Pin import tachiyomi.domain.source.model.Pins import tachiyomi.domain.source.model.Source +import tachiyomi.domain.source.repository.SourceRepository import tachiyomi.source.local.LocalSource class GetEnabledSources( diff --git a/app/src/main/java/eu/kanade/domain/source/interactor/GetLanguagesWithSources.kt b/app/src/main/java/eu/kanade/domain/source/interactor/GetLanguagesWithSources.kt index 3777b7aa5..71f6cb070 100644 --- a/app/src/main/java/eu/kanade/domain/source/interactor/GetLanguagesWithSources.kt +++ b/app/src/main/java/eu/kanade/domain/source/interactor/GetLanguagesWithSources.kt @@ -1,12 +1,12 @@ package eu.kanade.domain.source.interactor -import eu.kanade.domain.source.repository.SourceRepository import eu.kanade.domain.source.service.SourcePreferences import eu.kanade.tachiyomi.util.system.LocaleHelper import exh.source.BlacklistedSources import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine import tachiyomi.domain.source.model.Source +import tachiyomi.domain.source.repository.SourceRepository class GetLanguagesWithSources( private val repository: SourceRepository, diff --git a/app/src/main/java/eu/kanade/domain/source/interactor/GetSourcesWithFavoriteCount.kt b/app/src/main/java/eu/kanade/domain/source/interactor/GetSourcesWithFavoriteCount.kt index 8076795c4..0083f0a6c 100644 --- a/app/src/main/java/eu/kanade/domain/source/interactor/GetSourcesWithFavoriteCount.kt +++ b/app/src/main/java/eu/kanade/domain/source/interactor/GetSourcesWithFavoriteCount.kt @@ -1,10 +1,10 @@ package eu.kanade.domain.source.interactor -import eu.kanade.domain.source.repository.SourceRepository import eu.kanade.domain.source.service.SourcePreferences import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine import tachiyomi.domain.source.model.Source +import tachiyomi.domain.source.repository.SourceRepository import tachiyomi.source.local.LocalSource import java.text.Collator import java.util.Collections diff --git a/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt b/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt index 8eea7ee2f..a890ff197 100644 --- a/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt +++ b/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt @@ -13,8 +13,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.util.fastForEach -import eu.kanade.domain.library.model.LibraryGroup -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.presentation.components.TabbedDialog import eu.kanade.presentation.components.TabbedDialogPaddings import eu.kanade.presentation.components.TriStateItem @@ -24,9 +22,11 @@ import eu.kanade.tachiyomi.ui.library.LibrarySettingsScreenModel import kotlinx.coroutines.flow.map import tachiyomi.domain.category.model.Category import tachiyomi.domain.library.model.LibraryDisplayMode +import tachiyomi.domain.library.model.LibraryGroup import tachiyomi.domain.library.model.LibrarySort import tachiyomi.domain.library.model.display import tachiyomi.domain.library.model.sort +import tachiyomi.domain.library.service.LibraryPreferences import tachiyomi.domain.manga.model.TriStateFilter import tachiyomi.presentation.core.components.CheckboxItem import tachiyomi.presentation.core.components.HeadingItem @@ -301,6 +301,16 @@ data class GroupMode( val drawableRes: Int, ) +private fun groupTypeDrawableRes(type: Int): Int { + return when (type) { + LibraryGroup.BY_STATUS -> R.drawable.ic_progress_clock_24dp + LibraryGroup.BY_TRACK_STATUS -> R.drawable.ic_sync_24dp + LibraryGroup.BY_SOURCE -> R.drawable.ic_browse_filled_24dp + LibraryGroup.UNGROUPED -> R.drawable.ic_ungroup_24dp + else -> R.drawable.ic_label_24dp + } +} + @Composable private fun ColumnScope.GroupPage( screenModel: LibrarySettingsScreenModel, @@ -321,7 +331,7 @@ private fun ColumnScope.GroupPage( GroupMode( it, LibraryGroup.groupTypeStringRes(it, hasCategories), - LibraryGroup.groupTypeDrawableRes(it), + groupTypeDrawableRes(it), ) } } diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/ClearDatabaseScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/ClearDatabaseScreen.kt index 2be6c993e..9015a57b7 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/ClearDatabaseScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/ClearDatabaseScreen.kt @@ -36,7 +36,6 @@ import cafe.adriel.voyager.core.model.coroutineScope import cafe.adriel.voyager.core.model.rememberScreenModel import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow -import eu.kanade.domain.source.interactor.GetSourcesWithNonLibraryManga import eu.kanade.presentation.browse.components.SourceIcon import eu.kanade.presentation.components.AppBar import eu.kanade.presentation.components.AppBarActions @@ -49,6 +48,7 @@ import tachiyomi.core.util.lang.launchIO import tachiyomi.core.util.lang.launchUI import tachiyomi.core.util.lang.withNonCancellableContext import tachiyomi.data.Database +import tachiyomi.domain.source.interactor.GetSourcesWithNonLibraryManga import tachiyomi.domain.source.model.Source import tachiyomi.domain.source.model.SourceWithCount import tachiyomi.presentation.core.components.FastScrollLazyColumn diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt index 40fcc5923..0c8557254 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt @@ -40,7 +40,6 @@ import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow import eu.kanade.domain.UnsortedPreferences import eu.kanade.domain.base.BasePreferences -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.manga.interactor.GetAllManga import eu.kanade.domain.source.service.SourcePreferences import eu.kanade.presentation.more.settings.Preference @@ -89,6 +88,7 @@ import tachiyomi.core.util.lang.launchNonCancellable import tachiyomi.core.util.lang.withUIContext import tachiyomi.core.util.system.logcat import tachiyomi.domain.chapter.interactor.GetChapterByMangaId +import tachiyomi.domain.library.service.LibraryPreferences import tachiyomi.domain.manga.repository.MangaRepository import tachiyomi.domain.source.service.SourceManager import uy.kohesive.injekt.Injekt diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsEhScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsEhScreen.kt index 978cc73a1..924f4c1ac 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsEhScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsEhScreen.kt @@ -54,8 +54,6 @@ import eu.kanade.presentation.library.components.SyncFavoritesWarningDialog import eu.kanade.presentation.more.settings.Preference import eu.kanade.presentation.util.collectAsState import eu.kanade.tachiyomi.R -import eu.kanade.tachiyomi.data.preference.DEVICE_CHARGING -import eu.kanade.tachiyomi.data.preference.DEVICE_ONLY_ON_WIFI import eu.kanade.tachiyomi.ui.webview.WebViewActivity import eu.kanade.tachiyomi.util.system.toast import exh.eh.EHentaiUpdateWorker @@ -71,6 +69,8 @@ import tachiyomi.core.util.lang.launchNonCancellable import tachiyomi.core.util.lang.withIOContext import tachiyomi.core.util.lang.withUIContext import tachiyomi.core.util.system.logcat +import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_CHARGING +import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_ONLY_ON_WIFI import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import kotlin.time.Duration diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsGeneralScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsGeneralScreen.kt index 50e193a72..ffa22256d 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsGeneralScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsGeneralScreen.kt @@ -17,12 +17,12 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.core.os.LocaleListCompat import eu.kanade.domain.base.BasePreferences -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.ui.UiPreferences import eu.kanade.presentation.more.settings.Preference import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.util.system.LocaleHelper import org.xmlpull.v1.XmlPullParser +import tachiyomi.domain.library.service.LibraryPreferences import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt index c5783f5b6..b2b144c0c 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt @@ -32,29 +32,29 @@ import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.Navigator import cafe.adriel.voyager.navigator.currentOrThrow import eu.kanade.domain.UnsortedPreferences -import eu.kanade.domain.category.interactor.ResetCategoryFlags -import eu.kanade.domain.library.model.GroupLibraryMode -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.presentation.category.visualName import eu.kanade.presentation.more.settings.Preference import eu.kanade.presentation.more.settings.widget.TriStateListDialog import eu.kanade.presentation.util.collectAsState import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.library.LibraryUpdateJob -import eu.kanade.tachiyomi.data.preference.DEVICE_BATTERY_NOT_LOW -import eu.kanade.tachiyomi.data.preference.DEVICE_CHARGING -import eu.kanade.tachiyomi.data.preference.DEVICE_NETWORK_NOT_METERED -import eu.kanade.tachiyomi.data.preference.DEVICE_ONLY_ON_WIFI -import eu.kanade.tachiyomi.data.preference.MANGA_HAS_UNREAD -import eu.kanade.tachiyomi.data.preference.MANGA_NON_COMPLETED -import eu.kanade.tachiyomi.data.preference.MANGA_NON_READ import eu.kanade.tachiyomi.data.track.TrackManager import eu.kanade.tachiyomi.ui.category.CategoryScreen import eu.kanade.tachiyomi.ui.category.genre.SortTagScreen import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import tachiyomi.domain.category.interactor.GetCategories +import tachiyomi.domain.category.interactor.ResetCategoryFlags import tachiyomi.domain.category.model.Category +import tachiyomi.domain.library.model.GroupLibraryMode +import tachiyomi.domain.library.service.LibraryPreferences +import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_BATTERY_NOT_LOW +import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_CHARGING +import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_NETWORK_NOT_METERED +import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_ONLY_ON_WIFI +import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_HAS_UNREAD +import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_COMPLETED +import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_READ import tachiyomi.presentation.core.components.WheelPicker import tachiyomi.presentation.core.components.WheelPickerDefaults import uy.kohesive.injekt.Injekt diff --git a/app/src/main/java/eu/kanade/tachiyomi/AppModule.kt b/app/src/main/java/eu/kanade/tachiyomi/AppModule.kt index 5f822808d..d5500dcba 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/AppModule.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/AppModule.kt @@ -9,7 +9,6 @@ import com.squareup.sqldelight.android.AndroidSqliteDriver import com.squareup.sqldelight.db.SqlDriver import eu.kanade.domain.UnsortedPreferences import eu.kanade.domain.base.BasePreferences -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.source.service.SourcePreferences import eu.kanade.domain.track.service.TrackPreferences import eu.kanade.domain.track.store.DelayedTrackingStore @@ -55,6 +54,7 @@ import tachiyomi.data.listOfStringsAndAdapter import tachiyomi.data.updateStrategyAdapter import tachiyomi.domain.backup.service.BackupPreferences import tachiyomi.domain.download.service.DownloadPreferences +import tachiyomi.domain.library.service.LibraryPreferences import tachiyomi.domain.manga.interactor.GetCustomMangaInfo import tachiyomi.domain.source.service.SourceManager import tachiyomi.source.local.image.LocalCoverManager diff --git a/app/src/main/java/eu/kanade/tachiyomi/Migrations.kt b/app/src/main/java/eu/kanade/tachiyomi/Migrations.kt index ab0f16f6e..86a41e0dc 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/Migrations.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/Migrations.kt @@ -5,13 +5,11 @@ import androidx.core.content.edit import androidx.preference.PreferenceManager import androidx.work.WorkManager import eu.kanade.domain.base.BasePreferences -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.source.service.SourcePreferences import eu.kanade.domain.ui.UiPreferences import eu.kanade.tachiyomi.core.security.SecurityPreferences import eu.kanade.tachiyomi.data.backup.BackupCreatorJob import eu.kanade.tachiyomi.data.library.LibraryUpdateJob -import eu.kanade.tachiyomi.data.preference.MANGA_NON_COMPLETED import eu.kanade.tachiyomi.data.preference.PreferenceValues import eu.kanade.tachiyomi.data.track.TrackManager import eu.kanade.tachiyomi.network.NetworkPreferences @@ -25,6 +23,8 @@ import eu.kanade.tachiyomi.util.system.toast import tachiyomi.core.preference.PreferenceStore import tachiyomi.core.preference.getEnum import tachiyomi.domain.backup.service.BackupPreferences +import tachiyomi.domain.library.service.LibraryPreferences +import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_COMPLETED import tachiyomi.domain.manga.model.TriStateFilter import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt index d8016bc04..72d102c21 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt @@ -4,7 +4,6 @@ import android.Manifest import android.content.Context import android.net.Uri import com.hippo.unifile.UniFile -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.manga.interactor.GetFlatMetadataById import eu.kanade.domain.manga.interactor.GetMergedManga import eu.kanade.domain.manga.interactor.InsertFlatMetadata @@ -62,6 +61,7 @@ import tachiyomi.domain.backup.service.BackupPreferences import tachiyomi.domain.category.interactor.GetCategories import tachiyomi.domain.category.model.Category import tachiyomi.domain.history.model.HistoryUpdate +import tachiyomi.domain.library.service.LibraryPreferences import tachiyomi.domain.manga.interactor.GetCustomMangaInfo import tachiyomi.domain.manga.interactor.GetFavorites import tachiyomi.domain.manga.interactor.SetCustomMangaInfo diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt index 37348ae4c..ab7335727 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt @@ -18,9 +18,6 @@ import androidx.work.workDataOf import eu.kanade.domain.UnsortedPreferences import eu.kanade.domain.chapter.interactor.SyncChaptersWithSource import eu.kanade.domain.chapter.interactor.SyncChaptersWithTrackServiceTwoWay -import eu.kanade.domain.library.model.GroupLibraryMode -import eu.kanade.domain.library.model.LibraryGroup -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.manga.interactor.GetMergedMangaForDownloading import eu.kanade.domain.manga.interactor.InsertFlatMetadata import eu.kanade.domain.manga.interactor.UpdateManga @@ -32,13 +29,6 @@ import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.cache.CoverCache import eu.kanade.tachiyomi.data.download.DownloadManager import eu.kanade.tachiyomi.data.notification.Notifications -import eu.kanade.tachiyomi.data.preference.DEVICE_BATTERY_NOT_LOW -import eu.kanade.tachiyomi.data.preference.DEVICE_CHARGING -import eu.kanade.tachiyomi.data.preference.DEVICE_NETWORK_NOT_METERED -import eu.kanade.tachiyomi.data.preference.DEVICE_ONLY_ON_WIFI -import eu.kanade.tachiyomi.data.preference.MANGA_HAS_UNREAD -import eu.kanade.tachiyomi.data.preference.MANGA_NON_COMPLETED -import eu.kanade.tachiyomi.data.preference.MANGA_NON_READ import eu.kanade.tachiyomi.data.track.EnhancedTrackService import eu.kanade.tachiyomi.data.track.TrackManager import eu.kanade.tachiyomi.data.track.TrackService @@ -83,7 +73,17 @@ import tachiyomi.domain.chapter.interactor.GetChapterByMangaId import tachiyomi.domain.chapter.model.Chapter import tachiyomi.domain.chapter.model.NoChaptersException import tachiyomi.domain.download.service.DownloadPreferences +import tachiyomi.domain.library.model.GroupLibraryMode +import tachiyomi.domain.library.model.LibraryGroup import tachiyomi.domain.library.model.LibraryManga +import tachiyomi.domain.library.service.LibraryPreferences +import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_BATTERY_NOT_LOW +import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_CHARGING +import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_NETWORK_NOT_METERED +import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_ONLY_ON_WIFI +import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_HAS_UNREAD +import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_COMPLETED +import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_READ import tachiyomi.domain.manga.interactor.GetFavorites import tachiyomi.domain.manga.interactor.GetLibraryManga import tachiyomi.domain.manga.interactor.GetManga diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt index d451bd7f8..e4d8ef06a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt @@ -2,15 +2,6 @@ package eu.kanade.tachiyomi.data.preference import eu.kanade.tachiyomi.R -const val DEVICE_ONLY_ON_WIFI = "wifi" -const val DEVICE_NETWORK_NOT_METERED = "network_not_metered" -const val DEVICE_CHARGING = "ac" -const val DEVICE_BATTERY_NOT_LOW = "battery_not_low" - -const val MANGA_NON_COMPLETED = "manga_ongoing" -const val MANGA_HAS_UNREAD = "manga_fully_read" -const val MANGA_NON_READ = "manga_started" - /** * This class stores the values for the preferences in the application. */ diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MergedSource.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MergedSource.kt index 7d18beef0..b197ecfd9 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MergedSource.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MergedSource.kt @@ -1,7 +1,6 @@ package eu.kanade.tachiyomi.source.online.all import eu.kanade.domain.chapter.interactor.SyncChaptersWithSource -import eu.kanade.domain.manga.interactor.GetMergedReferencesById import eu.kanade.domain.manga.interactor.UpdateManga import eu.kanade.domain.manga.model.toSManga import eu.kanade.tachiyomi.data.download.DownloadManager @@ -26,6 +25,7 @@ import tachiyomi.domain.category.interactor.GetCategories import tachiyomi.domain.chapter.model.Chapter import tachiyomi.domain.download.service.DownloadPreferences import tachiyomi.domain.manga.interactor.GetManga +import tachiyomi.domain.manga.interactor.GetMergedReferencesById import tachiyomi.domain.manga.interactor.NetworkToLocalManga import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.manga.model.MergedMangaReference diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt index 0de29ec4b..52c96df9e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt @@ -11,7 +11,6 @@ import cafe.adriel.voyager.core.model.rememberScreenModel import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow -import eu.kanade.domain.source.interactor.GetRemoteManga import eu.kanade.presentation.browse.FeedAddDialog import eu.kanade.presentation.browse.FeedAddSearchDialog import eu.kanade.presentation.browse.FeedDeleteConfirmDialog @@ -23,6 +22,7 @@ import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreen import eu.kanade.tachiyomi.ui.manga.MangaScreen import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch +import tachiyomi.domain.source.interactor.GetRemoteManga @Composable fun Screen.feedTab(): TabContent { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreenModel.kt index ad4553917..859fd4638 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreenModel.kt @@ -6,8 +6,6 @@ import cafe.adriel.voyager.core.model.ScreenModel import cafe.adriel.voyager.core.model.coroutineScope import eu.kanade.domain.UnsortedPreferences import eu.kanade.domain.chapter.interactor.SyncChaptersWithSource -import eu.kanade.domain.history.interactor.GetHistoryByMangaId -import eu.kanade.domain.manga.interactor.GetMergedReferencesById import eu.kanade.domain.manga.interactor.UpdateManga import eu.kanade.domain.manga.model.hasCustomCover import eu.kanade.domain.manga.model.toSManga @@ -42,9 +40,11 @@ import tachiyomi.domain.chapter.interactor.GetChapterByMangaId import tachiyomi.domain.chapter.interactor.UpdateChapter import tachiyomi.domain.chapter.model.Chapter import tachiyomi.domain.chapter.model.ChapterUpdate +import tachiyomi.domain.history.interactor.GetHistoryByMangaId import tachiyomi.domain.history.interactor.UpsertHistory import tachiyomi.domain.history.model.HistoryUpdate import tachiyomi.domain.manga.interactor.GetManga +import tachiyomi.domain.manga.interactor.GetMergedReferencesById import tachiyomi.domain.manga.interactor.NetworkToLocalManga import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.manga.model.MangaUpdate diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt index ce9174604..31582eaf8 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt @@ -15,9 +15,7 @@ import cafe.adriel.voyager.core.model.StateScreenModel import cafe.adriel.voyager.core.model.coroutineScope import eu.kanade.core.preference.asState import eu.kanade.domain.UnsortedPreferences -import eu.kanade.domain.chapter.interactor.SetMangaDefaultChapterFlags import eu.kanade.domain.chapter.interactor.SyncChaptersWithTrackServiceTwoWay -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.manga.interactor.GetFlatMetadataById import eu.kanade.domain.manga.interactor.UpdateManga import eu.kanade.domain.manga.model.copyFrom @@ -25,7 +23,6 @@ import eu.kanade.domain.manga.model.toDomainManga import eu.kanade.domain.manga.model.toSManga import eu.kanade.domain.source.interactor.DeleteSavedSearchById import eu.kanade.domain.source.interactor.GetExhSavedSearch -import eu.kanade.domain.source.interactor.GetRemoteManga import eu.kanade.domain.source.interactor.InsertSavedSearch import eu.kanade.domain.source.service.SourcePreferences import eu.kanade.domain.track.model.toDomainTrack @@ -71,18 +68,21 @@ import tachiyomi.core.util.lang.withIOContext import tachiyomi.core.util.lang.withNonCancellableContext import tachiyomi.core.util.lang.withUIContext import tachiyomi.core.util.system.logcat -import tachiyomi.data.source.SourcePagingSourceType import tachiyomi.domain.category.interactor.GetCategories import tachiyomi.domain.category.interactor.SetMangaCategories import tachiyomi.domain.category.model.Category import tachiyomi.domain.chapter.interactor.GetChapterByMangaId +import tachiyomi.domain.chapter.interactor.SetMangaDefaultChapterFlags +import tachiyomi.domain.library.service.LibraryPreferences import tachiyomi.domain.manga.interactor.GetDuplicateLibraryManga import tachiyomi.domain.manga.interactor.GetManga import tachiyomi.domain.manga.interactor.NetworkToLocalManga import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.manga.model.toMangaUpdate +import tachiyomi.domain.source.interactor.GetRemoteManga import tachiyomi.domain.source.model.EXHSavedSearch import tachiyomi.domain.source.model.SavedSearch +import tachiyomi.domain.source.repository.SourcePagingSourceType import tachiyomi.domain.source.service.SourceManager import tachiyomi.domain.track.interactor.InsertTrack import uy.kohesive.injekt.Injekt diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt index 1832c5bdf..51e827f2f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt @@ -9,7 +9,6 @@ import cafe.adriel.voyager.core.model.rememberScreenModel import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.Navigator import cafe.adriel.voyager.navigator.currentOrThrow -import eu.kanade.domain.source.interactor.GetRemoteManga import eu.kanade.presentation.browse.SourceFeedScreen import eu.kanade.presentation.browse.components.SourceFeedAddDialog import eu.kanade.presentation.browse.components.SourceFeedDeleteDialog @@ -22,6 +21,7 @@ import eu.kanade.tachiyomi.util.system.toast import exh.md.follows.MangaDexFollowsScreen import exh.util.nullIfBlank import tachiyomi.domain.manga.model.Manga +import tachiyomi.domain.source.interactor.GetRemoteManga import tachiyomi.domain.source.model.SavedSearch class SourceFeedScreen(val sourceId: Long) : Screen() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreenModel.kt index 50b217025..ae8186b51 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreenModel.kt @@ -4,13 +4,13 @@ import androidx.annotation.StringRes import androidx.compose.runtime.Immutable import cafe.adriel.voyager.core.model.StateScreenModel import cafe.adriel.voyager.core.model.coroutineScope -import eu.kanade.domain.category.interactor.CreateCategoryWithName import eu.kanade.tachiyomi.R import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch +import tachiyomi.domain.category.interactor.CreateCategoryWithName import tachiyomi.domain.category.interactor.DeleteCategory import tachiyomi.domain.category.interactor.GetCategories import tachiyomi.domain.category.interactor.RenameCategory diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryScreenModel.kt index e38f790d1..32590052f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryScreenModel.kt @@ -4,7 +4,6 @@ import androidx.compose.runtime.Immutable import cafe.adriel.voyager.core.model.StateScreenModel import cafe.adriel.voyager.core.model.coroutineScope import eu.kanade.core.util.insertSeparators -import eu.kanade.domain.history.interactor.GetNextChapters import eu.kanade.presentation.history.HistoryUiModel import eu.kanade.tachiyomi.util.lang.toDateKey import kotlinx.coroutines.Dispatchers @@ -24,6 +23,7 @@ import tachiyomi.core.util.lang.withIOContext import tachiyomi.core.util.system.logcat import tachiyomi.domain.chapter.model.Chapter import tachiyomi.domain.history.interactor.GetHistory +import tachiyomi.domain.history.interactor.GetNextChapters import tachiyomi.domain.history.interactor.RemoveHistory import tachiyomi.domain.history.model.HistoryWithRelations import uy.kohesive.injekt.Injekt diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt index 4c27082e5..e68efa570 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt @@ -36,7 +36,6 @@ import cafe.adriel.voyager.navigator.tab.LocalTabNavigator import cafe.adriel.voyager.navigator.tab.TabNavigator import eu.kanade.core.preference.asState import eu.kanade.core.util.fastFilter -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.source.service.SourcePreferences import eu.kanade.domain.ui.UiPreferences import eu.kanade.presentation.util.Screen @@ -56,6 +55,7 @@ import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.coroutines.launch import soup.compose.material.motion.animation.materialFadeThroughIn import soup.compose.material.motion.animation.materialFadeThroughOut +import tachiyomi.domain.library.service.LibraryPreferences import tachiyomi.presentation.core.components.material.NavigationBar import tachiyomi.presentation.core.components.material.NavigationRail import tachiyomi.presentation.core.components.material.Scaffold diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt index 362eb83bf..e26d4d8a0 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt @@ -20,9 +20,6 @@ import eu.kanade.core.util.fastPartition import eu.kanade.domain.UnsortedPreferences import eu.kanade.domain.base.BasePreferences import eu.kanade.domain.chapter.interactor.SetReadStatus -import eu.kanade.domain.history.interactor.GetNextChapters -import eu.kanade.domain.library.model.LibraryGroup -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.manga.interactor.GetIdsOfFavoriteMangaWithMetadata import eu.kanade.domain.manga.interactor.GetMergedMangaById import eu.kanade.domain.manga.interactor.GetSearchTags @@ -88,10 +85,13 @@ import tachiyomi.domain.category.interactor.SetMangaCategories import tachiyomi.domain.category.model.Category import tachiyomi.domain.chapter.interactor.GetChapterByMangaId import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.history.interactor.GetNextChapters import tachiyomi.domain.library.model.LibraryDisplayMode +import tachiyomi.domain.library.model.LibraryGroup import tachiyomi.domain.library.model.LibraryManga import tachiyomi.domain.library.model.LibrarySort import tachiyomi.domain.library.model.sort +import tachiyomi.domain.library.service.LibraryPreferences import tachiyomi.domain.manga.interactor.GetLibraryManga import tachiyomi.domain.manga.interactor.SetCustomMangaInfo import tachiyomi.domain.manga.model.CustomMangaInfo diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsScreenModel.kt index 6201dde59..e0da28858 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsScreenModel.kt @@ -5,17 +5,17 @@ import cafe.adriel.voyager.core.model.ScreenModel import cafe.adriel.voyager.core.model.coroutineScope import eu.kanade.core.preference.asState import eu.kanade.domain.base.BasePreferences -import eu.kanade.domain.category.interactor.SetDisplayModeForCategory -import eu.kanade.domain.category.interactor.SetSortModeForCategory -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.tachiyomi.data.track.TrackManager import eu.kanade.tachiyomi.util.preference.toggle import tachiyomi.core.preference.Preference import tachiyomi.core.preference.getAndSet import tachiyomi.core.util.lang.launchIO +import tachiyomi.domain.category.interactor.SetDisplayModeForCategory +import tachiyomi.domain.category.interactor.SetSortModeForCategory import tachiyomi.domain.category.model.Category import tachiyomi.domain.library.model.LibraryDisplayMode import tachiyomi.domain.library.model.LibrarySort +import tachiyomi.domain.library.service.LibraryPreferences import tachiyomi.domain.manga.model.TriStateFilter import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt index 65f05d911..0431d9037 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt @@ -30,7 +30,6 @@ import cafe.adriel.voyager.navigator.currentOrThrow import cafe.adriel.voyager.navigator.tab.LocalTabNavigator import cafe.adriel.voyager.navigator.tab.TabOptions import eu.kanade.domain.UnsortedPreferences -import eu.kanade.domain.library.model.LibraryGroup import eu.kanade.domain.manga.model.isLocal import eu.kanade.presentation.category.components.ChangeCategoryDialog import eu.kanade.presentation.library.DeleteLibraryMangaDialog @@ -60,6 +59,7 @@ import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.coroutines.launch import tachiyomi.core.util.lang.launchIO import tachiyomi.domain.category.model.Category +import tachiyomi.domain.library.model.LibraryGroup import tachiyomi.domain.library.model.LibraryManga import tachiyomi.domain.library.model.display import tachiyomi.domain.manga.model.Manga diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt index 42354552e..001e4236d 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt @@ -51,7 +51,6 @@ import cafe.adriel.voyager.navigator.currentOrThrow import com.google.accompanist.systemuicontroller.rememberSystemUiController import eu.kanade.domain.UnsortedPreferences import eu.kanade.domain.base.BasePreferences -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.source.service.SourcePreferences import eu.kanade.domain.ui.UiPreferences import eu.kanade.presentation.components.AppStateBanners @@ -100,6 +99,7 @@ import kotlinx.coroutines.launch import logcat.LogPriority import tachiyomi.core.Constants import tachiyomi.core.util.system.logcat +import tachiyomi.domain.library.service.LibraryPreferences import tachiyomi.presentation.core.components.material.Scaffold import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt index facfe5494..ae2a378ce 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt @@ -10,17 +10,13 @@ import cafe.adriel.voyager.core.model.StateScreenModel import cafe.adriel.voyager.core.model.coroutineScope import eu.kanade.core.preference.asState import eu.kanade.core.util.addOrRemove -import eu.kanade.domain.chapter.interactor.GetMergedChapterByMangaId -import eu.kanade.domain.chapter.interactor.SetMangaDefaultChapterFlags import eu.kanade.domain.chapter.interactor.SetReadStatus import eu.kanade.domain.chapter.interactor.SyncChaptersWithSource -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.manga.interactor.DeleteByMergeId import eu.kanade.domain.manga.interactor.DeleteMangaById import eu.kanade.domain.manga.interactor.DeleteMergeById import eu.kanade.domain.manga.interactor.GetFlatMetadataById import eu.kanade.domain.manga.interactor.GetMergedMangaById -import eu.kanade.domain.manga.interactor.GetMergedReferencesById import eu.kanade.domain.manga.interactor.GetPagePreviews import eu.kanade.domain.manga.interactor.InsertMergedReference import eu.kanade.domain.manga.interactor.SetMangaFilteredScanlators @@ -93,15 +89,19 @@ import tachiyomi.core.util.system.logcat import tachiyomi.domain.category.interactor.GetCategories import tachiyomi.domain.category.interactor.SetMangaCategories import tachiyomi.domain.category.model.Category +import tachiyomi.domain.chapter.interactor.GetMergedChapterByMangaId +import tachiyomi.domain.chapter.interactor.SetMangaDefaultChapterFlags import tachiyomi.domain.chapter.interactor.UpdateChapter import tachiyomi.domain.chapter.model.Chapter import tachiyomi.domain.chapter.model.ChapterUpdate import tachiyomi.domain.chapter.model.NoChaptersException import tachiyomi.domain.chapter.service.getChapterSort import tachiyomi.domain.download.service.DownloadPreferences +import tachiyomi.domain.library.service.LibraryPreferences import tachiyomi.domain.manga.interactor.GetDuplicateLibraryManga import tachiyomi.domain.manga.interactor.GetManga import tachiyomi.domain.manga.interactor.GetMangaWithChapters +import tachiyomi.domain.manga.interactor.GetMergedReferencesById import tachiyomi.domain.manga.interactor.NetworkToLocalManga import tachiyomi.domain.manga.interactor.SetCustomMangaInfo import tachiyomi.domain.manga.interactor.SetMangaChapterFlags diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt index a6bb9dab8..770ed064e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt @@ -8,12 +8,9 @@ import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import eu.kanade.domain.base.BasePreferences -import eu.kanade.domain.chapter.interactor.GetMergedChapterByMangaId import eu.kanade.domain.chapter.model.toDbChapter -import eu.kanade.domain.history.interactor.GetNextChapters import eu.kanade.domain.manga.interactor.GetFlatMetadataById import eu.kanade.domain.manga.interactor.GetMergedMangaById -import eu.kanade.domain.manga.interactor.GetMergedReferencesById import eu.kanade.domain.manga.interactor.SetMangaViewerFlags import eu.kanade.domain.manga.model.isLocal import eu.kanade.domain.manga.model.orientationType @@ -87,14 +84,17 @@ import tachiyomi.core.util.system.ImageUtil import tachiyomi.core.util.system.logcat import tachiyomi.decoder.ImageDecoder import tachiyomi.domain.chapter.interactor.GetChapterByMangaId +import tachiyomi.domain.chapter.interactor.GetMergedChapterByMangaId import tachiyomi.domain.chapter.interactor.UpdateChapter import tachiyomi.domain.chapter.model.Chapter import tachiyomi.domain.chapter.model.ChapterUpdate import tachiyomi.domain.chapter.service.getChapterSort import tachiyomi.domain.download.service.DownloadPreferences +import tachiyomi.domain.history.interactor.GetNextChapters import tachiyomi.domain.history.interactor.UpsertHistory import tachiyomi.domain.history.model.HistoryUpdate import tachiyomi.domain.manga.interactor.GetManga +import tachiyomi.domain.manga.interactor.GetMergedReferencesById import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.source.service.SourceManager import tachiyomi.domain.track.interactor.GetTracks diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt index fc1b8b6c2..3870bc780 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt @@ -7,20 +7,20 @@ import eu.kanade.core.util.fastDistinctBy import eu.kanade.core.util.fastFilter import eu.kanade.core.util.fastFilterNot import eu.kanade.core.util.fastMapNotNull -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.manga.model.isLocal import eu.kanade.presentation.more.stats.StatsScreenState import eu.kanade.presentation.more.stats.data.StatsData import eu.kanade.tachiyomi.data.download.DownloadManager -import eu.kanade.tachiyomi.data.preference.MANGA_HAS_UNREAD -import eu.kanade.tachiyomi.data.preference.MANGA_NON_COMPLETED -import eu.kanade.tachiyomi.data.preference.MANGA_NON_READ import eu.kanade.tachiyomi.data.track.TrackManager import eu.kanade.tachiyomi.source.model.SManga import kotlinx.coroutines.flow.update import tachiyomi.core.util.lang.launchIO import tachiyomi.domain.history.interactor.GetTotalReadDuration import tachiyomi.domain.library.model.LibraryManga +import tachiyomi.domain.library.service.LibraryPreferences +import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_HAS_UNREAD +import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_COMPLETED +import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_READ import tachiyomi.domain.manga.interactor.GetLibraryManga import tachiyomi.domain.track.interactor.GetTracks import tachiyomi.domain.track.model.Track diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt index 680f0b5df..145e08d79 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt @@ -12,7 +12,6 @@ import eu.kanade.core.preference.asState import eu.kanade.core.util.addOrRemove import eu.kanade.core.util.insertSeparators import eu.kanade.domain.chapter.interactor.SetReadStatus -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.ui.UiPreferences import eu.kanade.presentation.manga.components.ChapterDownloadAction import eu.kanade.presentation.updates.UpdatesUiModel @@ -42,6 +41,7 @@ import tachiyomi.core.util.system.logcat import tachiyomi.domain.chapter.interactor.GetChapter import tachiyomi.domain.chapter.interactor.UpdateChapter import tachiyomi.domain.chapter.model.ChapterUpdate +import tachiyomi.domain.library.service.LibraryPreferences import tachiyomi.domain.manga.interactor.GetManga import tachiyomi.domain.source.service.SourceManager import tachiyomi.domain.updates.interactor.GetUpdates diff --git a/app/src/main/java/exh/EXHMigrations.kt b/app/src/main/java/exh/EXHMigrations.kt index c1c22e5b1..d76422c75 100644 --- a/app/src/main/java/exh/EXHMigrations.kt +++ b/app/src/main/java/exh/EXHMigrations.kt @@ -8,7 +8,6 @@ import androidx.preference.PreferenceManager import androidx.work.WorkManager import eu.kanade.domain.base.BasePreferences import eu.kanade.domain.chapter.interactor.DeleteChapters -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.manga.interactor.GetMangaBySource import eu.kanade.domain.manga.interactor.InsertMergedReference import eu.kanade.domain.manga.interactor.UpdateManga @@ -21,7 +20,6 @@ import eu.kanade.tachiyomi.core.security.SecurityPreferences import eu.kanade.tachiyomi.data.backup.BackupCreatorJob import eu.kanade.tachiyomi.data.database.models.Manga import eu.kanade.tachiyomi.data.library.LibraryUpdateJob -import eu.kanade.tachiyomi.data.preference.MANGA_NON_COMPLETED import eu.kanade.tachiyomi.data.preference.PreferenceValues import eu.kanade.tachiyomi.data.track.TrackManager import eu.kanade.tachiyomi.network.NetworkPreferences @@ -60,6 +58,8 @@ import tachiyomi.data.chapter.chapterMapper import tachiyomi.domain.backup.service.BackupPreferences import tachiyomi.domain.chapter.interactor.UpdateChapter import tachiyomi.domain.chapter.model.ChapterUpdate +import tachiyomi.domain.library.service.LibraryPreferences +import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_COMPLETED import tachiyomi.domain.manga.interactor.GetManga import tachiyomi.domain.manga.model.MangaUpdate import tachiyomi.domain.manga.model.MergedMangaReference diff --git a/app/src/main/java/exh/debug/DebugFunctions.kt b/app/src/main/java/exh/debug/DebugFunctions.kt index 9a71db339..4c87c7b8d 100644 --- a/app/src/main/java/exh/debug/DebugFunctions.kt +++ b/app/src/main/java/exh/debug/DebugFunctions.kt @@ -3,7 +3,6 @@ package exh.debug import android.app.Application import androidx.work.WorkManager import eu.kanade.domain.base.BasePreferences -import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.manga.interactor.GetAllManga import eu.kanade.domain.manga.interactor.GetExhFavoriteMangaWithMetadata import eu.kanade.domain.manga.interactor.GetFlatMetadataById @@ -33,6 +32,7 @@ import kotlinx.serialization.protobuf.schema.ProtoBufSchemaGenerator import tachiyomi.core.preference.PreferenceStore import tachiyomi.data.DatabaseHandler import tachiyomi.domain.backup.service.BackupPreferences +import tachiyomi.domain.library.service.LibraryPreferences import tachiyomi.domain.manga.interactor.GetFavorites import tachiyomi.domain.source.service.SourceManager import uy.kohesive.injekt.injectLazy diff --git a/app/src/main/java/exh/eh/EHentaiUpdateHelper.kt b/app/src/main/java/exh/eh/EHentaiUpdateHelper.kt index a19208dbd..b960f41fe 100644 --- a/app/src/main/java/exh/eh/EHentaiUpdateHelper.kt +++ b/app/src/main/java/exh/eh/EHentaiUpdateHelper.kt @@ -2,7 +2,6 @@ package exh.eh import android.content.Context import eu.kanade.domain.chapter.interactor.GetChapterByUrl -import eu.kanade.domain.history.interactor.GetHistoryByMangaId import eu.kanade.domain.manga.interactor.UpdateManga import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.async @@ -13,6 +12,7 @@ import tachiyomi.domain.chapter.interactor.GetChapterByMangaId import tachiyomi.domain.chapter.model.Chapter import tachiyomi.domain.chapter.model.ChapterUpdate import tachiyomi.domain.chapter.repository.ChapterRepository +import tachiyomi.domain.history.interactor.GetHistoryByMangaId import tachiyomi.domain.history.interactor.RemoveHistory import tachiyomi.domain.history.interactor.UpsertHistory import tachiyomi.domain.history.model.History diff --git a/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt b/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt index 9d12521ed..c3b58b5a2 100644 --- a/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt +++ b/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt @@ -19,8 +19,6 @@ import eu.kanade.domain.manga.interactor.InsertFlatMetadata import eu.kanade.domain.manga.interactor.UpdateManga import eu.kanade.domain.manga.model.toSManga import eu.kanade.tachiyomi.data.library.LibraryUpdateNotifier -import eu.kanade.tachiyomi.data.preference.DEVICE_CHARGING -import eu.kanade.tachiyomi.data.preference.DEVICE_ONLY_ON_WIFI import eu.kanade.tachiyomi.source.online.all.EHentai import eu.kanade.tachiyomi.util.system.isConnectedToWifi import exh.debug.DebugToggles @@ -35,6 +33,8 @@ import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json import tachiyomi.domain.chapter.interactor.GetChapterByMangaId import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_CHARGING +import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_ONLY_ON_WIFI import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.source.service.SourceManager import uy.kohesive.injekt.Injekt diff --git a/app/src/main/java/exh/favorites/FavoritesSyncHelper.kt b/app/src/main/java/exh/favorites/FavoritesSyncHelper.kt index aa3313082..24d23b667 100644 --- a/app/src/main/java/exh/favorites/FavoritesSyncHelper.kt +++ b/app/src/main/java/exh/favorites/FavoritesSyncHelper.kt @@ -4,7 +4,6 @@ import android.content.Context import android.net.wifi.WifiManager import android.os.PowerManager import eu.kanade.domain.UnsortedPreferences -import eu.kanade.domain.category.interactor.CreateCategoryWithName import eu.kanade.domain.manga.interactor.UpdateManga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.network.POST @@ -30,6 +29,7 @@ import okhttp3.FormBody import okhttp3.Request import tachiyomi.core.util.lang.withIOContext import tachiyomi.core.util.lang.withUIContext +import tachiyomi.domain.category.interactor.CreateCategoryWithName import tachiyomi.domain.category.interactor.GetCategories import tachiyomi.domain.category.interactor.SetMangaCategories import tachiyomi.domain.category.interactor.UpdateCategory diff --git a/app/src/main/java/exh/md/follows/MangaDexFollowsScreenModel.kt b/app/src/main/java/exh/md/follows/MangaDexFollowsScreenModel.kt index 41da4cde2..ba66e3749 100644 --- a/app/src/main/java/exh/md/follows/MangaDexFollowsScreenModel.kt +++ b/app/src/main/java/exh/md/follows/MangaDexFollowsScreenModel.kt @@ -8,8 +8,8 @@ import exh.source.getMainSource import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.update -import tachiyomi.data.source.SourcePagingSourceType import tachiyomi.domain.manga.model.Manga +import tachiyomi.domain.source.repository.SourcePagingSourceType class MangaDexFollowsScreenModel(sourceId: Long) : BrowseSourceScreenModel(sourceId, null) { diff --git a/app/src/main/java/exh/md/similar/MangaDexSimilarScreenModel.kt b/app/src/main/java/exh/md/similar/MangaDexSimilarScreenModel.kt index 9137c09de..9c30fad39 100644 --- a/app/src/main/java/exh/md/similar/MangaDexSimilarScreenModel.kt +++ b/app/src/main/java/exh/md/similar/MangaDexSimilarScreenModel.kt @@ -9,9 +9,9 @@ import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.update import kotlinx.coroutines.runBlocking -import tachiyomi.data.source.SourcePagingSourceType import tachiyomi.domain.manga.interactor.GetManga import tachiyomi.domain.manga.model.Manga +import tachiyomi.domain.source.repository.SourcePagingSourceType import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/exh/recs/RecommendsScreenModel.kt b/app/src/main/java/exh/recs/RecommendsScreenModel.kt index 80da8afc5..618ed72a8 100644 --- a/app/src/main/java/exh/recs/RecommendsScreenModel.kt +++ b/app/src/main/java/exh/recs/RecommendsScreenModel.kt @@ -4,8 +4,8 @@ import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreenModel import kotlinx.coroutines.runBlocking -import tachiyomi.data.source.SourcePagingSourceType import tachiyomi.domain.manga.interactor.GetManga +import tachiyomi.domain.source.repository.SourcePagingSourceType import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/exh/source/SourceHelper.kt b/app/src/main/java/exh/source/SourceHelper.kt index 700d445bb..cf41b5650 100644 --- a/app/src/main/java/exh/source/SourceHelper.kt +++ b/app/src/main/java/exh/source/SourceHelper.kt @@ -1,14 +1,12 @@ package exh.source import eu.kanade.tachiyomi.source.AndroidSourceManager -import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.online.all.MangaDex import eu.kanade.tachiyomi.source.online.all.NHentai import eu.kanade.tachiyomi.source.online.english.EightMuses import eu.kanade.tachiyomi.source.online.english.HBrowse import eu.kanade.tachiyomi.source.online.english.Pururin import eu.kanade.tachiyomi.source.online.english.Tsumino -import tachiyomi.domain.manga.model.Manga /** * Source helpers @@ -24,19 +22,6 @@ private val DELEGATED_METADATA_SOURCES by lazy { ) } -// Used to speed up isLewdSource -var metadataDelegatedSourceIds: List = emptyList() - -var nHentaiSourceIds: List = emptyList() - -var mangaDexSourceIds: List = emptyList() - -var LIBRARY_UPDATE_EXCLUDED_SOURCES = listOf( - EH_SOURCE_ID, - EXH_SOURCE_ID, - PURURIN_SOURCE_ID, -) - fun handleSourceLibrary() { metadataDelegatedSourceIds = AndroidSourceManager.currentDelegatedSources .filter { @@ -65,46 +50,3 @@ fun handleSourceLibrary() { PURURIN_SOURCE_ID, ) + nHentaiSourceIds } - -// This method MUST be fast! -fun isMetadataSource(source: Long) = source in 6900..6999 || - metadataDelegatedSourceIds.binarySearch(source) >= 0 - -fun Source.isEhBasedSource() = id == EH_SOURCE_ID || id == EXH_SOURCE_ID - -fun Source.isMdBasedSource() = id in mangaDexSourceIds - -fun Manga.isEhBasedManga() = source == EH_SOURCE_ID || source == EXH_SOURCE_ID - -fun Source.getMainSource(): Source = if (this is EnhancedHttpSource) { - this.source() -} else { - this -} - -@JvmName("getMainSourceInline") -inline fun Source.getMainSource(): T? = if (this is EnhancedHttpSource) { - this.source() as? T -} else { - this as? T -} - -fun Source.getOriginalSource(): Source = if (this is EnhancedHttpSource) { - this.originalSource -} else { - this -} - -fun Source.getEnhancedSource(): Source = if (this is EnhancedHttpSource) { - this.enhancedSource -} else { - this -} - -inline fun Source.anyIs(): Boolean { - return if (this is EnhancedHttpSource) { - originalSource is T || enhancedSource is T - } else { - this is T - } -} diff --git a/app/src/main/java/eu/kanade/data/source/EHentaiPagingSource.kt b/data/src/main/java/tachiyomi/data/source/EHentaiPagingSource.kt similarity index 71% rename from app/src/main/java/eu/kanade/data/source/EHentaiPagingSource.kt rename to data/src/main/java/tachiyomi/data/source/EHentaiPagingSource.kt index 9a31fd301..c5ed06896 100644 --- a/app/src/main/java/eu/kanade/data/source/EHentaiPagingSource.kt +++ b/data/src/main/java/tachiyomi/data/source/EHentaiPagingSource.kt @@ -1,15 +1,14 @@ -package eu.kanade.data.source +package tachiyomi.data.source +import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.MetadataMangasPage import eu.kanade.tachiyomi.source.model.SManga -import eu.kanade.tachiyomi.source.online.all.EHentai import exh.metadata.metadata.base.RaisedSearchMetadata import tachiyomi.core.util.lang.awaitSingle -import tachiyomi.data.source.SourcePagingSource -abstract class EHentaiPagingSource(override val source: EHentai) : SourcePagingSource(source) { +abstract class EHentaiPagingSource(override val source: CatalogueSource) : SourcePagingSource(source) { override fun getPageLoadResult( params: LoadParams, @@ -27,19 +26,19 @@ abstract class EHentaiPagingSource(override val source: EHentai) : SourcePagingS } } -class EHentaiSearchPagingSource(source: EHentai, val query: String, val filters: FilterList) : EHentaiPagingSource(source) { +class EHentaiSearchPagingSource(source: CatalogueSource, val query: String, val filters: FilterList) : EHentaiPagingSource(source) { override suspend fun requestNextPage(currentPage: Int): MangasPage { return source.fetchSearchManga(currentPage, query, filters).awaitSingle() } } -class EHentaiPopularPagingSource(source: EHentai) : EHentaiPagingSource(source) { +class EHentaiPopularPagingSource(source: CatalogueSource) : EHentaiPagingSource(source) { override suspend fun requestNextPage(currentPage: Int): MangasPage { return source.fetchPopularManga(currentPage).awaitSingle() } } -class EHentaiLatestPagingSource(source: EHentai) : EHentaiPagingSource(source) { +class EHentaiLatestPagingSource(source: CatalogueSource) : EHentaiPagingSource(source) { override suspend fun requestNextPage(currentPage: Int): MangasPage { return source.fetchLatestUpdates(currentPage).awaitSingle() } diff --git a/data/src/main/java/tachiyomi/data/source/SourcePagingSource.kt b/data/src/main/java/tachiyomi/data/source/SourcePagingSource.kt index d53d3cb91..4a0d22afa 100644 --- a/data/src/main/java/tachiyomi/data/source/SourcePagingSource.kt +++ b/data/src/main/java/tachiyomi/data/source/SourcePagingSource.kt @@ -1,6 +1,5 @@ package tachiyomi.data.source -import androidx.paging.PagingSource import androidx.paging.PagingState import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.source.model.FilterList @@ -10,8 +9,25 @@ import eu.kanade.tachiyomi.source.model.SManga import exh.metadata.metadata.base.RaisedSearchMetadata import tachiyomi.core.util.lang.awaitSingle import tachiyomi.core.util.lang.withIOContext +import tachiyomi.domain.source.repository.SourcePagingSourceType -typealias SourcePagingSourceType = PagingSource */ Pair/*SY <-- */> +class SourceSearchPagingSource(source: CatalogueSource, val query: String, val filters: FilterList) : SourcePagingSource(source) { + override suspend fun requestNextPage(currentPage: Int): MangasPage { + return source.fetchSearchManga(currentPage, query, filters).awaitSingle() + } +} + +class SourcePopularPagingSource(source: CatalogueSource) : SourcePagingSource(source) { + override suspend fun requestNextPage(currentPage: Int): MangasPage { + return source.fetchPopularManga(currentPage).awaitSingle() + } +} + +class SourceLatestPagingSource(source: CatalogueSource) : SourcePagingSource(source) { + override suspend fun requestNextPage(currentPage: Int): MangasPage { + return source.fetchLatestUpdates(currentPage).awaitSingle() + } +} abstract class SourcePagingSource( protected open val source: CatalogueSource, @@ -68,22 +84,4 @@ abstract class SourcePagingSource( } } -class SourceSearchPagingSource(source: CatalogueSource, val query: String, val filters: FilterList) : SourcePagingSource(source) { - override suspend fun requestNextPage(currentPage: Int): MangasPage { - return source.fetchSearchManga(currentPage, query, filters).awaitSingle() - } -} - -class SourcePopularPagingSource(source: CatalogueSource) : SourcePagingSource(source) { - override suspend fun requestNextPage(currentPage: Int): MangasPage { - return source.fetchPopularManga(currentPage).awaitSingle() - } -} - -class SourceLatestPagingSource(source: CatalogueSource) : SourcePagingSource(source) { - override suspend fun requestNextPage(currentPage: Int): MangasPage { - return source.fetchLatestUpdates(currentPage).awaitSingle() - } -} - class NoResultsException : Exception() diff --git a/app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt b/data/src/main/java/tachiyomi/data/source/SourceRepositoryImpl.kt similarity index 87% rename from app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt rename to data/src/main/java/tachiyomi/data/source/SourceRepositoryImpl.kt index a77be53f7..5cb7172a0 100644 --- a/app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt +++ b/data/src/main/java/tachiyomi/data/source/SourceRepositoryImpl.kt @@ -1,22 +1,18 @@ -package eu.kanade.data.source +package tachiyomi.data.source -import eu.kanade.domain.source.repository.SourceRepository import eu.kanade.tachiyomi.source.CatalogueSource 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 exh.source.isEhBasedSource import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map import tachiyomi.data.DatabaseHandler -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.domain.source.model.StubSource +import tachiyomi.domain.source.repository.SourcePagingSourceType +import tachiyomi.domain.source.repository.SourceRepository import tachiyomi.domain.source.service.SourceManager class SourceRepositoryImpl( @@ -79,7 +75,7 @@ class SourceRepositoryImpl( ): SourcePagingSourceType { val source = sourceManager.get(sourceId) as CatalogueSource // SY --> - if (source is EHentai) { + if (source.isEhBasedSource()) { return EHentaiSearchPagingSource(source, query, filterList) } // SY <-- @@ -89,7 +85,7 @@ class SourceRepositoryImpl( override fun getPopular(sourceId: Long): SourcePagingSourceType { val source = sourceManager.get(sourceId) as CatalogueSource // SY --> - if (source is EHentai) { + if (source.isEhBasedSource()) { return EHentaiPopularPagingSource(source) } // SY <-- @@ -99,7 +95,7 @@ class SourceRepositoryImpl( override fun getLatest(sourceId: Long): SourcePagingSourceType { val source = sourceManager.get(sourceId) as CatalogueSource // SY --> - if (source is EHentai) { + if (source.isEhBasedSource()) { return EHentaiLatestPagingSource(source) } // SY <-- diff --git a/domain/build.gradle.kts b/domain/build.gradle.kts index ce3486fdd..f55a26635 100644 --- a/domain/build.gradle.kts +++ b/domain/build.gradle.kts @@ -19,6 +19,8 @@ dependencies { implementation(platform(kotlinx.coroutines.bom)) implementation(kotlinx.bundles.coroutines) + api(libs.sqldelight.android.paging) + // SY --> implementation(libs.injekt.core) // SY <-- diff --git a/domain/src/main/java/exh/source/DomainSourceHelpers.kt b/domain/src/main/java/exh/source/DomainSourceHelpers.kt new file mode 100644 index 000000000..7fcbc4397 --- /dev/null +++ b/domain/src/main/java/exh/source/DomainSourceHelpers.kt @@ -0,0 +1,60 @@ +package exh.source + +import eu.kanade.tachiyomi.source.Source +import tachiyomi.domain.manga.model.Manga + +// Used to speed up isLewdSource +var metadataDelegatedSourceIds: List = emptyList() + +var nHentaiSourceIds: List = emptyList() + +var mangaDexSourceIds: List = emptyList() + +var LIBRARY_UPDATE_EXCLUDED_SOURCES = listOf( + EH_SOURCE_ID, + EXH_SOURCE_ID, + PURURIN_SOURCE_ID, +) + +// This method MUST be fast! +fun isMetadataSource(source: Long) = source in 6900..6999 || + metadataDelegatedSourceIds.binarySearch(source) >= 0 + +fun Source.isEhBasedSource() = id == EH_SOURCE_ID || id == EXH_SOURCE_ID + +fun Source.isMdBasedSource() = id in mangaDexSourceIds + +fun Manga.isEhBasedManga() = source == EH_SOURCE_ID || source == EXH_SOURCE_ID + +fun Source.getMainSource(): Source = if (this is EnhancedHttpSource) { + this.source() +} else { + this +} + +@JvmName("getMainSourceInline") +inline fun Source.getMainSource(): T? = if (this is EnhancedHttpSource) { + this.source() as? T +} else { + this as? T +} + +fun Source.getOriginalSource(): Source = if (this is EnhancedHttpSource) { + this.originalSource +} else { + this +} + +fun Source.getEnhancedSource(): Source = if (this is EnhancedHttpSource) { + this.enhancedSource +} else { + this +} + +inline fun Source.anyIs(): Boolean { + return if (this is EnhancedHttpSource) { + originalSource is T || enhancedSource is T + } else { + this is T + } +} diff --git a/app/src/main/java/eu/kanade/domain/category/interactor/CreateCategoryWithName.kt b/domain/src/main/java/tachiyomi/domain/category/interactor/CreateCategoryWithName.kt similarity index 93% rename from app/src/main/java/eu/kanade/domain/category/interactor/CreateCategoryWithName.kt rename to domain/src/main/java/tachiyomi/domain/category/interactor/CreateCategoryWithName.kt index 739ca6e69..515bd2de3 100644 --- a/app/src/main/java/eu/kanade/domain/category/interactor/CreateCategoryWithName.kt +++ b/domain/src/main/java/tachiyomi/domain/category/interactor/CreateCategoryWithName.kt @@ -1,11 +1,11 @@ -package eu.kanade.domain.category.interactor +package tachiyomi.domain.category.interactor -import eu.kanade.domain.library.service.LibraryPreferences import logcat.LogPriority import tachiyomi.core.util.lang.withNonCancellableContext import tachiyomi.core.util.system.logcat import tachiyomi.domain.category.model.Category import tachiyomi.domain.category.repository.CategoryRepository +import tachiyomi.domain.library.service.LibraryPreferences class CreateCategoryWithName( private val categoryRepository: CategoryRepository, diff --git a/app/src/main/java/eu/kanade/domain/category/interactor/ResetCategoryFlags.kt b/domain/src/main/java/tachiyomi/domain/category/interactor/ResetCategoryFlags.kt similarity index 82% rename from app/src/main/java/eu/kanade/domain/category/interactor/ResetCategoryFlags.kt rename to domain/src/main/java/tachiyomi/domain/category/interactor/ResetCategoryFlags.kt index b5be470dc..6508d9131 100644 --- a/app/src/main/java/eu/kanade/domain/category/interactor/ResetCategoryFlags.kt +++ b/domain/src/main/java/tachiyomi/domain/category/interactor/ResetCategoryFlags.kt @@ -1,8 +1,8 @@ -package eu.kanade.domain.category.interactor +package tachiyomi.domain.category.interactor -import eu.kanade.domain.library.service.LibraryPreferences import tachiyomi.domain.category.repository.CategoryRepository import tachiyomi.domain.library.model.plus +import tachiyomi.domain.library.service.LibraryPreferences class ResetCategoryFlags( private val preferences: LibraryPreferences, diff --git a/app/src/main/java/eu/kanade/domain/category/interactor/SetDisplayModeForCategory.kt b/domain/src/main/java/tachiyomi/domain/category/interactor/SetDisplayModeForCategory.kt similarity index 89% rename from app/src/main/java/eu/kanade/domain/category/interactor/SetDisplayModeForCategory.kt rename to domain/src/main/java/tachiyomi/domain/category/interactor/SetDisplayModeForCategory.kt index a9a7968fc..70d8e9242 100644 --- a/app/src/main/java/eu/kanade/domain/category/interactor/SetDisplayModeForCategory.kt +++ b/domain/src/main/java/tachiyomi/domain/category/interactor/SetDisplayModeForCategory.kt @@ -1,12 +1,12 @@ -package eu.kanade.domain.category.interactor +package tachiyomi.domain.category.interactor -import eu.kanade.domain.library.model.LibraryGroup -import eu.kanade.domain.library.service.LibraryPreferences import tachiyomi.domain.category.model.Category import tachiyomi.domain.category.model.CategoryUpdate import tachiyomi.domain.category.repository.CategoryRepository import tachiyomi.domain.library.model.LibraryDisplayMode +import tachiyomi.domain.library.model.LibraryGroup import tachiyomi.domain.library.model.plus +import tachiyomi.domain.library.service.LibraryPreferences class SetDisplayModeForCategory( private val preferences: LibraryPreferences, diff --git a/app/src/main/java/eu/kanade/domain/category/interactor/SetSortModeForCategory.kt b/domain/src/main/java/tachiyomi/domain/category/interactor/SetSortModeForCategory.kt similarity index 90% rename from app/src/main/java/eu/kanade/domain/category/interactor/SetSortModeForCategory.kt rename to domain/src/main/java/tachiyomi/domain/category/interactor/SetSortModeForCategory.kt index a55bba584..e09ab212c 100644 --- a/app/src/main/java/eu/kanade/domain/category/interactor/SetSortModeForCategory.kt +++ b/domain/src/main/java/tachiyomi/domain/category/interactor/SetSortModeForCategory.kt @@ -1,12 +1,12 @@ -package eu.kanade.domain.category.interactor +package tachiyomi.domain.category.interactor -import eu.kanade.domain.library.model.LibraryGroup -import eu.kanade.domain.library.service.LibraryPreferences import tachiyomi.domain.category.model.Category import tachiyomi.domain.category.model.CategoryUpdate import tachiyomi.domain.category.repository.CategoryRepository +import tachiyomi.domain.library.model.LibraryGroup import tachiyomi.domain.library.model.LibrarySort import tachiyomi.domain.library.model.plus +import tachiyomi.domain.library.service.LibraryPreferences class SetSortModeForCategory( private val preferences: LibraryPreferences, diff --git a/app/src/main/java/eu/kanade/domain/chapter/interactor/GetMergedChapterByMangaId.kt b/domain/src/main/java/tachiyomi/domain/chapter/interactor/GetMergedChapterByMangaId.kt similarity index 97% rename from app/src/main/java/eu/kanade/domain/chapter/interactor/GetMergedChapterByMangaId.kt rename to domain/src/main/java/tachiyomi/domain/chapter/interactor/GetMergedChapterByMangaId.kt index 87af72e91..ec6a08119 100644 --- a/app/src/main/java/eu/kanade/domain/chapter/interactor/GetMergedChapterByMangaId.kt +++ b/domain/src/main/java/tachiyomi/domain/chapter/interactor/GetMergedChapterByMangaId.kt @@ -1,6 +1,5 @@ -package eu.kanade.domain.chapter.interactor +package tachiyomi.domain.chapter.interactor -import eu.kanade.domain.manga.interactor.GetMergedReferencesById import exh.source.MERGED_SOURCE_ID import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine @@ -9,6 +8,7 @@ import logcat.LogPriority import tachiyomi.core.util.system.logcat import tachiyomi.domain.chapter.model.Chapter import tachiyomi.domain.chapter.repository.ChapterRepository +import tachiyomi.domain.manga.interactor.GetMergedReferencesById import tachiyomi.domain.manga.model.MergedMangaReference class GetMergedChapterByMangaId( diff --git a/app/src/main/java/eu/kanade/domain/chapter/interactor/SetDefaultChapterSettings.kt b/domain/src/main/java/tachiyomi/domain/chapter/interactor/SetDefaultChapterSettings.kt similarity index 92% rename from app/src/main/java/eu/kanade/domain/chapter/interactor/SetDefaultChapterSettings.kt rename to domain/src/main/java/tachiyomi/domain/chapter/interactor/SetDefaultChapterSettings.kt index e5d60fe05..ab8eaaa55 100644 --- a/app/src/main/java/eu/kanade/domain/chapter/interactor/SetDefaultChapterSettings.kt +++ b/domain/src/main/java/tachiyomi/domain/chapter/interactor/SetDefaultChapterSettings.kt @@ -1,7 +1,7 @@ -package eu.kanade.domain.chapter.interactor +package tachiyomi.domain.chapter.interactor -import eu.kanade.domain.library.service.LibraryPreferences import tachiyomi.core.util.lang.withNonCancellableContext +import tachiyomi.domain.library.service.LibraryPreferences import tachiyomi.domain.manga.interactor.GetFavorites import tachiyomi.domain.manga.interactor.SetMangaChapterFlags import tachiyomi.domain.manga.model.Manga diff --git a/app/src/main/java/eu/kanade/domain/history/interactor/GetHistoryByMangaId.kt b/domain/src/main/java/tachiyomi/domain/history/interactor/GetHistoryByMangaId.kt similarity index 87% rename from app/src/main/java/eu/kanade/domain/history/interactor/GetHistoryByMangaId.kt rename to domain/src/main/java/tachiyomi/domain/history/interactor/GetHistoryByMangaId.kt index 35fb9150b..b28427ee5 100644 --- a/app/src/main/java/eu/kanade/domain/history/interactor/GetHistoryByMangaId.kt +++ b/domain/src/main/java/tachiyomi/domain/history/interactor/GetHistoryByMangaId.kt @@ -1,4 +1,4 @@ -package eu.kanade.domain.history.interactor +package tachiyomi.domain.history.interactor import tachiyomi.domain.history.model.History import tachiyomi.domain.history.repository.HistoryRepository diff --git a/app/src/main/java/eu/kanade/domain/history/interactor/GetNextChapters.kt b/domain/src/main/java/tachiyomi/domain/history/interactor/GetNextChapters.kt similarity index 96% rename from app/src/main/java/eu/kanade/domain/history/interactor/GetNextChapters.kt rename to domain/src/main/java/tachiyomi/domain/history/interactor/GetNextChapters.kt index 5bf814adf..95b3e5d44 100644 --- a/app/src/main/java/eu/kanade/domain/history/interactor/GetNextChapters.kt +++ b/domain/src/main/java/tachiyomi/domain/history/interactor/GetNextChapters.kt @@ -1,9 +1,9 @@ -package eu.kanade.domain.history.interactor +package tachiyomi.domain.history.interactor -import eu.kanade.domain.chapter.interactor.GetMergedChapterByMangaId import exh.source.MERGED_SOURCE_ID import exh.source.isEhBasedManga import tachiyomi.domain.chapter.interactor.GetChapterByMangaId +import tachiyomi.domain.chapter.interactor.GetMergedChapterByMangaId import tachiyomi.domain.chapter.model.Chapter import tachiyomi.domain.chapter.service.getChapterSort import tachiyomi.domain.history.repository.HistoryRepository diff --git a/app/src/main/java/eu/kanade/domain/library/model/GroupLibraryMode.kt b/domain/src/main/java/tachiyomi/domain/library/model/GroupLibraryMode.kt similarity index 66% rename from app/src/main/java/eu/kanade/domain/library/model/GroupLibraryMode.kt rename to domain/src/main/java/tachiyomi/domain/library/model/GroupLibraryMode.kt index 71eb3d287..a58ee8339 100644 --- a/app/src/main/java/eu/kanade/domain/library/model/GroupLibraryMode.kt +++ b/domain/src/main/java/tachiyomi/domain/library/model/GroupLibraryMode.kt @@ -1,4 +1,4 @@ -package eu.kanade.domain.library.model +package tachiyomi.domain.library.model enum class GroupLibraryMode { GLOBAL, diff --git a/app/src/main/java/eu/kanade/domain/library/model/LibraryGroup.kt b/domain/src/main/java/tachiyomi/domain/library/model/LibraryGroup.kt similarity index 56% rename from app/src/main/java/eu/kanade/domain/library/model/LibraryGroup.kt rename to domain/src/main/java/tachiyomi/domain/library/model/LibraryGroup.kt index 613d18a2a..66713555f 100644 --- a/app/src/main/java/eu/kanade/domain/library/model/LibraryGroup.kt +++ b/domain/src/main/java/tachiyomi/domain/library/model/LibraryGroup.kt @@ -1,6 +1,6 @@ -package eu.kanade.domain.library.model +package tachiyomi.domain.library.model -import eu.kanade.tachiyomi.R +import tachiyomi.domain.R object LibraryGroup { @@ -19,14 +19,4 @@ object LibraryGroup { else -> if (hasCategories) R.string.categories else R.string.ungrouped } } - - fun groupTypeDrawableRes(type: Int): Int { - return when (type) { - BY_STATUS -> R.drawable.ic_progress_clock_24dp - BY_TRACK_STATUS -> R.drawable.ic_sync_24dp - BY_SOURCE -> R.drawable.ic_browse_filled_24dp - UNGROUPED -> R.drawable.ic_ungroup_24dp - else -> R.drawable.ic_label_24dp - } - } } diff --git a/app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt b/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt similarity index 86% rename from app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt rename to domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt index 749b2a34e..7a42fca57 100644 --- a/app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt +++ b/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt @@ -1,14 +1,10 @@ -package eu.kanade.domain.library.service +package tachiyomi.domain.library.service -import eu.kanade.domain.library.model.GroupLibraryMode -import eu.kanade.domain.library.model.LibraryGroup -import eu.kanade.tachiyomi.data.preference.DEVICE_ONLY_ON_WIFI -import eu.kanade.tachiyomi.data.preference.MANGA_HAS_UNREAD -import eu.kanade.tachiyomi.data.preference.MANGA_NON_COMPLETED -import eu.kanade.tachiyomi.data.preference.MANGA_NON_READ import tachiyomi.core.preference.PreferenceStore import tachiyomi.core.preference.getEnum +import tachiyomi.domain.library.model.GroupLibraryMode import tachiyomi.domain.library.model.LibraryDisplayMode +import tachiyomi.domain.library.model.LibraryGroup import tachiyomi.domain.library.model.LibrarySort import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.manga.model.TriStateFilter @@ -28,8 +24,20 @@ class LibraryPreferences( fun libraryUpdateInterval() = preferenceStore.getInt("pref_library_update_interval_key", 24) fun libraryUpdateLastTimestamp() = preferenceStore.getLong("library_update_last_timestamp", 0L) - fun libraryUpdateDeviceRestriction() = preferenceStore.getStringSet("library_update_restriction", setOf(DEVICE_ONLY_ON_WIFI)) - fun libraryUpdateMangaRestriction() = preferenceStore.getStringSet("library_update_manga_restriction", setOf(MANGA_HAS_UNREAD, MANGA_NON_COMPLETED, MANGA_NON_READ)) + fun libraryUpdateDeviceRestriction() = preferenceStore.getStringSet( + "library_update_restriction", + setOf( + DEVICE_ONLY_ON_WIFI, + ), + ) + fun libraryUpdateMangaRestriction() = preferenceStore.getStringSet( + "library_update_manga_restriction", + setOf( + MANGA_HAS_UNREAD, + MANGA_NON_COMPLETED, + MANGA_NON_READ, + ), + ) fun autoUpdateMetadata() = preferenceStore.getBoolean("auto_update_metadata", false) @@ -125,4 +133,15 @@ class LibraryPreferences( fun groupLibraryBy() = preferenceStore.getInt("group_library_by", LibraryGroup.BY_DEFAULT) // SY <-- + + companion object { + const val DEVICE_ONLY_ON_WIFI = "wifi" + const val DEVICE_NETWORK_NOT_METERED = "network_not_metered" + const val DEVICE_CHARGING = "ac" + const val DEVICE_BATTERY_NOT_LOW = "battery_not_low" + + const val MANGA_NON_COMPLETED = "manga_ongoing" + const val MANGA_HAS_UNREAD = "manga_fully_read" + const val MANGA_NON_READ = "manga_started" + } } diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/GetMergedReferencesById.kt b/domain/src/main/java/tachiyomi/domain/manga/interactor/GetMergedReferencesById.kt similarity index 94% rename from app/src/main/java/eu/kanade/domain/manga/interactor/GetMergedReferencesById.kt rename to domain/src/main/java/tachiyomi/domain/manga/interactor/GetMergedReferencesById.kt index 9f69079e1..e056d2121 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/GetMergedReferencesById.kt +++ b/domain/src/main/java/tachiyomi/domain/manga/interactor/GetMergedReferencesById.kt @@ -1,4 +1,4 @@ -package eu.kanade.domain.manga.interactor +package tachiyomi.domain.manga.interactor import kotlinx.coroutines.flow.Flow import logcat.LogPriority diff --git a/app/src/main/java/eu/kanade/domain/source/interactor/GetRemoteManga.kt b/domain/src/main/java/tachiyomi/domain/source/interactor/GetRemoteManga.kt similarity index 79% rename from app/src/main/java/eu/kanade/domain/source/interactor/GetRemoteManga.kt rename to domain/src/main/java/tachiyomi/domain/source/interactor/GetRemoteManga.kt index 3a2574b81..61e5e513e 100644 --- a/app/src/main/java/eu/kanade/domain/source/interactor/GetRemoteManga.kt +++ b/domain/src/main/java/tachiyomi/domain/source/interactor/GetRemoteManga.kt @@ -1,8 +1,8 @@ -package eu.kanade.domain.source.interactor +package tachiyomi.domain.source.interactor -import eu.kanade.domain.source.repository.SourceRepository import eu.kanade.tachiyomi.source.model.FilterList -import tachiyomi.data.source.SourcePagingSourceType +import tachiyomi.domain.source.repository.SourcePagingSourceType +import tachiyomi.domain.source.repository.SourceRepository class GetRemoteManga( private val repository: SourceRepository, diff --git a/app/src/main/java/eu/kanade/domain/source/interactor/GetSourcesWithNonLibraryManga.kt b/domain/src/main/java/tachiyomi/domain/source/interactor/GetSourcesWithNonLibraryManga.kt similarity index 74% rename from app/src/main/java/eu/kanade/domain/source/interactor/GetSourcesWithNonLibraryManga.kt rename to domain/src/main/java/tachiyomi/domain/source/interactor/GetSourcesWithNonLibraryManga.kt index 604e9119c..d53445d0c 100644 --- a/app/src/main/java/eu/kanade/domain/source/interactor/GetSourcesWithNonLibraryManga.kt +++ b/domain/src/main/java/tachiyomi/domain/source/interactor/GetSourcesWithNonLibraryManga.kt @@ -1,8 +1,8 @@ -package eu.kanade.domain.source.interactor +package tachiyomi.domain.source.interactor -import eu.kanade.domain.source.repository.SourceRepository import kotlinx.coroutines.flow.Flow import tachiyomi.domain.source.model.SourceWithCount +import tachiyomi.domain.source.repository.SourceRepository class GetSourcesWithNonLibraryManga( private val repository: SourceRepository, diff --git a/app/src/main/java/eu/kanade/domain/source/repository/SourceRepository.kt b/domain/src/main/java/tachiyomi/domain/source/repository/SourceRepository.kt similarity index 69% rename from app/src/main/java/eu/kanade/domain/source/repository/SourceRepository.kt rename to domain/src/main/java/tachiyomi/domain/source/repository/SourceRepository.kt index 0783815bb..f2434bccf 100644 --- a/app/src/main/java/eu/kanade/domain/source/repository/SourceRepository.kt +++ b/domain/src/main/java/tachiyomi/domain/source/repository/SourceRepository.kt @@ -1,11 +1,15 @@ -package eu.kanade.domain.source.repository +package tachiyomi.domain.source.repository +import androidx.paging.PagingSource import eu.kanade.tachiyomi.source.model.FilterList +import eu.kanade.tachiyomi.source.model.SManga +import exh.metadata.metadata.base.RaisedSearchMetadata import kotlinx.coroutines.flow.Flow -import tachiyomi.data.source.SourcePagingSourceType import tachiyomi.domain.source.model.Source import tachiyomi.domain.source.model.SourceWithCount +typealias SourcePagingSourceType = PagingSource */ Pair/*SY <-- */> + interface SourceRepository { fun getSources(): Flow>