From ce67eb9de3983532f2b7c589cdf779220f7b60d4 Mon Sep 17 00:00:00 2001 From: arkon Date: Sun, 22 Jan 2023 10:54:28 -0500 Subject: [PATCH] Move more models to domain module (cherry picked from commit 345e9c2a9a61f1f3b814db52eddbb42681499854) # Conflicts: # app/src/main/java/eu/kanade/data/manga/MangaMapper.kt # app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt # app/src/main/java/eu/kanade/domain/chapter/model/ChapterFilter.kt # app/src/main/java/eu/kanade/domain/history/interactor/GetNextChapters.kt # app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt # app/src/main/java/eu/kanade/domain/manga/model/Manga.kt # app/src/main/java/eu/kanade/presentation/browse/MigrateSearchScreen.kt # app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceDialogs.kt # app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt # app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt # app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt # app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterGetNextUnread.kt --- .../eu/kanade/data/chapter/ChapterMapper.kt | 2 +- .../data/chapter/ChapterRepositoryImpl.kt | 4 +- .../java/eu/kanade/data/manga/MangaMapper.kt | 2 +- .../data/manga/MangaMergeRepositoryImpl.kt | 2 +- .../data/manga/MangaMetadataRepositoryImpl.kt | 2 +- .../kanade/data/manga/MangaRepositoryImpl.kt | 2 +- .../domain/chapter/interactor/GetChapter.kt | 2 +- .../chapter/interactor/GetChapterByMangaId.kt | 2 +- .../chapter/interactor/GetChapterByUrl.kt | 2 +- .../interactor/GetMergedChapterByMangaId.kt | 2 +- .../interactor/SetDefaultChapterSettings.kt | 2 +- .../chapter/interactor/SetReadStatus.kt | 6 +- .../interactor/ShouldUpdateDbChapter.kt | 2 +- .../interactor/SyncChaptersWithSource.kt | 9 +- .../SyncChaptersWithTrackServiceTwoWay.kt | 4 +- .../chapter/interactor/UpdateChapter.kt | 2 +- .../eu/kanade/domain/chapter/model/Chapter.kt | 72 ++--- .../domain/chapter/model/ChapterFilter.kt | 10 +- .../chapter/repository/ChapterRepository.kt | 4 +- .../download/interactor/DeleteDownload.kt | 4 +- .../history/interactor/GetNextChapters.kt | 2 +- .../domain/library/model/LibraryManga.kt | 2 +- .../library/service/LibraryPreferences.kt | 2 +- .../domain/manga/interactor/GetAllManga.kt | 2 +- .../interactor/GetDuplicateLibraryManga.kt | 2 +- .../GetExhFavoriteMangaWithMetadata.kt | 2 +- .../domain/manga/interactor/GetFavorites.kt | 2 +- .../domain/manga/interactor/GetManga.kt | 2 +- .../manga/interactor/GetMangaBySource.kt | 2 +- .../manga/interactor/GetMangaWithChapters.kt | 4 +- .../domain/manga/interactor/GetMergedManga.kt | 2 +- .../manga/interactor/GetMergedMangaById.kt | 2 +- .../GetMergedMangaForDownloading.kt | 2 +- .../manga/interactor/GetPagePreviews.kt | 4 +- .../manga/interactor/NetworkToLocalManga.kt | 2 +- .../manga/interactor/SetMangaChapterFlags.kt | 2 +- .../interactor/SetMangaFilteredScanlators.kt | 2 +- .../domain/manga/interactor/UpdateManga.kt | 2 +- .../eu/kanade/domain/manga/model/ComicInfo.kt | 3 +- .../eu/kanade/domain/manga/model/Manga.kt | 305 ++++-------------- .../kanade/domain/manga/model/MangaCover.kt | 13 - .../manga/repository/MangaMergeRepository.kt | 2 +- .../repository/MangaMetadataRepository.kt | 2 +- .../manga/repository/MangaRepository.kt | 2 +- .../presentation/browse/BrowseSourceScreen.kt | 2 +- .../kanade/presentation/browse/FeedScreen.kt | 2 +- .../presentation/browse/GlobalSearchScreen.kt | 2 +- .../presentation/browse/MigrateMangaScreen.kt | 2 +- .../browse/MigrateSearchScreen.kt | 2 +- .../browse/MigrationListScreen.kt | 2 +- .../presentation/browse/SourceFeedScreen.kt | 2 +- .../components/BrowseSourceComfortableGrid.kt | 2 +- .../components/BrowseSourceCompactGrid.kt | 2 +- .../browse/components/BrowseSourceDialogs.kt | 2 +- .../components/BrowseSourceEHentaiList.kt | 2 +- .../browse/components/BrowseSourceList.kt | 2 +- .../browse/components/GlobalSearchCardRow.kt | 4 +- .../browse/components/MigrationItem.kt | 2 +- .../browse/components/MigrationItemResult.kt | 2 +- .../presentation/components/SettingsItems.kt | 2 +- .../components/SyncFavoritesProgressDialog.kt | 2 +- .../manga/ChapterSettingsDialog.kt | 6 +- .../kanade/presentation/manga/MangaScreen.kt | 5 +- .../manga/components/BaseMangaListItem.kt | 2 +- .../manga/components/MangaCoverDialog.kt | 2 +- .../manga/components/MangaInfoHeader.kt | 2 +- .../tachiyomi/data/backup/BackupManager.kt | 2 +- .../data/backup/models/BackupManga.kt | 2 +- .../tachiyomi/data/cache/ChapterCache.kt | 2 +- .../kanade/tachiyomi/data/cache/CoverCache.kt | 2 +- .../tachiyomi/data/cache/PagePreviewCache.kt | 2 +- .../tachiyomi/data/coil/MangaCoverFetcher.kt | 2 +- .../tachiyomi/data/coil/MangaCoverKeyer.kt | 2 +- .../tachiyomi/data/database/models/Chapter.kt | 2 +- .../tachiyomi/data/database/models/Manga.kt | 2 +- .../tachiyomi/data/download/DownloadCache.kt | 4 +- .../data/download/DownloadManager.kt | 4 +- .../data/download/DownloadPendingDeleter.kt | 4 +- .../data/download/DownloadProvider.kt | 4 +- .../tachiyomi/data/download/DownloadStore.kt | 2 +- .../tachiyomi/data/download/Downloader.kt | 5 +- .../tachiyomi/data/download/model/Download.kt | 4 +- .../data/download/model/DownloadQueue.kt | 4 +- .../data/library/LibraryUpdateNotifier.kt | 4 +- .../data/library/LibraryUpdateService.kt | 8 +- .../data/notification/NotificationReceiver.kt | 6 +- .../data/track/EnhancedTrackService.kt | 2 +- .../tachiyomi/data/track/kavita/Kavita.kt | 2 +- .../tachiyomi/data/track/komga/Komga.kt | 2 +- .../tachiyomi/data/track/mdlist/MdList.kt | 2 +- .../tachiyomi/data/track/suwayomi/Suwayomi.kt | 2 +- .../source/online/all/MergedSource.kt | 5 +- .../ui/browse/feed/FeedScreenModel.kt | 6 +- .../advanced/process/MigratingManga.kt | 2 +- .../process/MigrationListScreenModel.kt | 7 +- .../manga/MigrationMangaScreenModel.kt | 2 +- .../search/MigrateSearchScreenModel.kt | 2 +- .../migration/search/SourceSearchScreen.kt | 2 +- .../source/browse/BrowseSourceScreenModel.kt | 6 +- .../ui/browse/source/feed/SourceFeedScreen.kt | 2 +- .../source/feed/SourceFeedScreenModel.kt | 6 +- .../source/globalsearch/SearchScreenModel.kt | 6 +- .../ui/history/HistoryScreenModel.kt | 2 +- .../kanade/tachiyomi/ui/history/HistoryTab.kt | 2 +- .../ui/library/LibraryScreenModel.kt | 4 +- .../kanade/tachiyomi/ui/library/LibraryTab.kt | 2 +- .../tachiyomi/ui/manga/EditMangaDialog.kt | 4 +- .../ui/manga/MangaCoverScreenModel.kt | 2 +- .../kanade/tachiyomi/ui/manga/MangaScreen.kt | 5 +- .../tachiyomi/ui/manga/MangaScreenModel.kt | 13 +- .../ui/manga/merged/EditMergedMangaItem.kt | 2 +- .../manga/merged/EditMergedSettingsDialog.kt | 2 +- .../tachiyomi/ui/reader/ReaderActivity.kt | 4 +- .../tachiyomi/ui/reader/ReaderViewModel.kt | 10 +- .../ui/reader/chapter/ReaderChapterAdapter.kt | 2 +- .../ui/reader/chapter/ReaderChapterDialog.kt | 2 +- .../ui/reader/chapter/ReaderChapterItem.kt | 9 +- .../ui/reader/loader/ChapterLoader.kt | 2 +- .../ui/reader/loader/DownloadPageLoader.kt | 2 +- .../setting/ReaderReadingModeSettings.kt | 2 + .../ui/reader/viewer/MissingChapters.kt | 2 +- .../ui/reader/viewer/ReaderTransitionView.kt | 2 +- .../ui/updates/UpdatesScreenModel.kt | 2 +- .../kanade/tachiyomi/util/MangaExtensions.kt | 3 +- .../util/chapter/ChapterGetNextUnread.kt | 4 +- .../tachiyomi/util/chapter/ChapterSorter.kt | 4 +- app/src/main/java/exh/EXHMigrations.kt | 4 +- app/src/main/java/exh/GalleryAdder.kt | 5 +- app/src/main/java/exh/debug/DebugFunctions.kt | 1 + .../main/java/exh/eh/EHentaiUpdateHelper.kt | 6 +- .../main/java/exh/eh/EHentaiUpdateWorker.kt | 5 +- .../java/exh/favorites/FavoritesSyncHelper.kt | 2 +- .../exh/favorites/LocalFavoritesStorage.kt | 2 +- .../md/follows/MangaDexFollowsScreenModel.kt | 2 +- .../md/similar/MangaDexSimilarPagingSource.kt | 3 +- .../exh/md/similar/MangaDexSimilarScreen.kt | 2 +- .../md/similar/MangaDexSimilarScreenModel.kt | 2 +- .../exh/pagepreview/PagePreviewScreenModel.kt | 4 +- .../java/exh/recs/RecommendsPagingSource.kt | 2 +- .../main/java/exh/recs/RecommendsScreen.kt | 2 +- .../java/exh/smartsearch/SmartSearchEngine.kt | 2 +- app/src/main/java/exh/source/SourceHelper.kt | 2 +- .../exh/ui/intercept/InterceptActivity.kt | 4 +- .../ui/metadata/MetadataViewScreenModel.kt | 2 +- .../ui/smartsearch/SmartSearchScreenModel.kt | 2 +- .../main/java/exh/util/LewdMangaChecker.kt | 2 +- app/src/main/java/exh/util/MangaType.kt | 2 +- app/src/main/java/exh/util/SearchOverride.kt | 1 + .../tachiyomi/domain/chapter/model/Chapter.kt | 36 +++ .../domain/chapter/model/ChapterUpdate.kt | 2 +- .../tachiyomi/domain/manga/model/Manga.kt | 154 +++++++++ .../domain/manga/model/MangaCover.kt | 10 + .../domain/manga/model/MangaUpdate.kt | 28 ++ .../domain/manga/model/TriStateFilter.kt | 7 + 154 files changed, 547 insertions(+), 517 deletions(-) delete mode 100644 app/src/main/java/eu/kanade/domain/manga/model/MangaCover.kt create mode 100644 domain/src/main/java/tachiyomi/domain/chapter/model/Chapter.kt rename {app/src/main/java/eu/kanade => domain/src/main/java/tachiyomi}/domain/chapter/model/ChapterUpdate.kt (93%) create mode 100644 domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt create mode 100644 domain/src/main/java/tachiyomi/domain/manga/model/TriStateFilter.kt diff --git a/app/src/main/java/eu/kanade/data/chapter/ChapterMapper.kt b/app/src/main/java/eu/kanade/data/chapter/ChapterMapper.kt index 05de96ef2..037275243 100644 --- a/app/src/main/java/eu/kanade/data/chapter/ChapterMapper.kt +++ b/app/src/main/java/eu/kanade/data/chapter/ChapterMapper.kt @@ -1,6 +1,6 @@ package eu.kanade.data.chapter -import eu.kanade.domain.chapter.model.Chapter +import tachiyomi.domain.chapter.model.Chapter val chapterMapper: (Long, Long, String, String, String?, Boolean, Boolean, Long, Float, Long, Long, Long) -> Chapter = { id, mangaId, url, name, scanlator, read, bookmark, lastPageRead, chapterNumber, sourceOrder, dateFetch, dateUpload -> diff --git a/app/src/main/java/eu/kanade/data/chapter/ChapterRepositoryImpl.kt b/app/src/main/java/eu/kanade/data/chapter/ChapterRepositoryImpl.kt index d96e053d3..d17ff26bf 100644 --- a/app/src/main/java/eu/kanade/data/chapter/ChapterRepositoryImpl.kt +++ b/app/src/main/java/eu/kanade/data/chapter/ChapterRepositoryImpl.kt @@ -1,13 +1,13 @@ package eu.kanade.data.chapter -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.chapter.model.ChapterUpdate import eu.kanade.domain.chapter.repository.ChapterRepository import eu.kanade.tachiyomi.util.system.logcat import eu.kanade.tachiyomi.util.system.toLong import kotlinx.coroutines.flow.Flow import logcat.LogPriority import tachiyomi.data.DatabaseHandler +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.chapter.model.ChapterUpdate class ChapterRepositoryImpl( private val handler: DatabaseHandler, diff --git a/app/src/main/java/eu/kanade/data/manga/MangaMapper.kt b/app/src/main/java/eu/kanade/data/manga/MangaMapper.kt index aea2df677..6343ef04f 100644 --- a/app/src/main/java/eu/kanade/data/manga/MangaMapper.kt +++ b/app/src/main/java/eu/kanade/data/manga/MangaMapper.kt @@ -1,8 +1,8 @@ package eu.kanade.data.manga import eu.kanade.domain.library.model.LibraryManga -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.source.model.UpdateStrategy +import tachiyomi.domain.manga.model.Manga import tachiyomi.view.LibraryView val mangaMapper: (Long, Long, String, String?, String?, String?, List?, String, Long, String?, Boolean, Long?, Long?, Boolean, Long, Long, Long, Long, List?, UpdateStrategy) -> Manga = diff --git a/app/src/main/java/eu/kanade/data/manga/MangaMergeRepositoryImpl.kt b/app/src/main/java/eu/kanade/data/manga/MangaMergeRepositoryImpl.kt index 05ce7be1a..6480e011a 100644 --- a/app/src/main/java/eu/kanade/data/manga/MangaMergeRepositoryImpl.kt +++ b/app/src/main/java/eu/kanade/data/manga/MangaMergeRepositoryImpl.kt @@ -1,7 +1,6 @@ package eu.kanade.data.manga import eu.kanade.data.exh.mergedMangaReferenceMapper -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.model.MergeMangaSettingsUpdate import eu.kanade.domain.manga.repository.MangaMergeRepository import eu.kanade.tachiyomi.util.system.logcat @@ -10,6 +9,7 @@ import exh.merged.sql.models.MergedMangaReference import kotlinx.coroutines.flow.Flow import logcat.LogPriority import tachiyomi.data.DatabaseHandler +import tachiyomi.domain.manga.model.Manga class MangaMergeRepositoryImpl( private val handler: DatabaseHandler, diff --git a/app/src/main/java/eu/kanade/data/manga/MangaMetadataRepositoryImpl.kt b/app/src/main/java/eu/kanade/data/manga/MangaMetadataRepositoryImpl.kt index d3f41540b..96e916ceb 100644 --- a/app/src/main/java/eu/kanade/data/manga/MangaMetadataRepositoryImpl.kt +++ b/app/src/main/java/eu/kanade/data/manga/MangaMetadataRepositoryImpl.kt @@ -3,7 +3,6 @@ package eu.kanade.data.manga import eu.kanade.data.exh.searchMetadataMapper import eu.kanade.data.exh.searchTagMapper import eu.kanade.data.exh.searchTitleMapper -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.repository.MangaMetadataRepository import exh.metadata.metadata.base.FlatMetadata import exh.metadata.sql.models.SearchMetadata @@ -13,6 +12,7 @@ import exh.source.EH_SOURCE_ID import exh.source.EXH_SOURCE_ID import kotlinx.coroutines.flow.Flow import tachiyomi.data.DatabaseHandler +import tachiyomi.domain.manga.model.Manga class MangaMetadataRepositoryImpl( private val handler: DatabaseHandler, diff --git a/app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt b/app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt index 08b1df5ad..6ff2ef5a2 100644 --- a/app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt +++ b/app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt @@ -1,7 +1,6 @@ package eu.kanade.data.manga import eu.kanade.domain.library.model.LibraryManga -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.repository.MangaRepository import eu.kanade.tachiyomi.util.system.logcat import eu.kanade.tachiyomi.util.system.toLong @@ -13,6 +12,7 @@ import tachiyomi.data.DatabaseHandler import tachiyomi.data.listOfStringsAdapter import tachiyomi.data.listOfStringsAndAdapter import tachiyomi.data.updateStrategyAdapter +import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.manga.model.MangaUpdate class MangaRepositoryImpl( diff --git a/app/src/main/java/eu/kanade/domain/chapter/interactor/GetChapter.kt b/app/src/main/java/eu/kanade/domain/chapter/interactor/GetChapter.kt index 8d4be8a77..45236a1eb 100644 --- a/app/src/main/java/eu/kanade/domain/chapter/interactor/GetChapter.kt +++ b/app/src/main/java/eu/kanade/domain/chapter/interactor/GetChapter.kt @@ -1,9 +1,9 @@ package eu.kanade.domain.chapter.interactor -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.chapter.repository.ChapterRepository import eu.kanade.tachiyomi.util.system.logcat import logcat.LogPriority +import tachiyomi.domain.chapter.model.Chapter class GetChapter( private val chapterRepository: ChapterRepository, diff --git a/app/src/main/java/eu/kanade/domain/chapter/interactor/GetChapterByMangaId.kt b/app/src/main/java/eu/kanade/domain/chapter/interactor/GetChapterByMangaId.kt index b695388e7..7554a0437 100644 --- a/app/src/main/java/eu/kanade/domain/chapter/interactor/GetChapterByMangaId.kt +++ b/app/src/main/java/eu/kanade/domain/chapter/interactor/GetChapterByMangaId.kt @@ -1,9 +1,9 @@ package eu.kanade.domain.chapter.interactor -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.chapter.repository.ChapterRepository import eu.kanade.tachiyomi.util.system.logcat import logcat.LogPriority +import tachiyomi.domain.chapter.model.Chapter class GetChapterByMangaId( private val chapterRepository: ChapterRepository, diff --git a/app/src/main/java/eu/kanade/domain/chapter/interactor/GetChapterByUrl.kt b/app/src/main/java/eu/kanade/domain/chapter/interactor/GetChapterByUrl.kt index ad61368ce..bbeb02954 100644 --- a/app/src/main/java/eu/kanade/domain/chapter/interactor/GetChapterByUrl.kt +++ b/app/src/main/java/eu/kanade/domain/chapter/interactor/GetChapterByUrl.kt @@ -1,9 +1,9 @@ package eu.kanade.domain.chapter.interactor -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.chapter.repository.ChapterRepository import eu.kanade.tachiyomi.util.system.logcat import logcat.LogPriority +import tachiyomi.domain.chapter.model.Chapter class GetChapterByUrl( private val chapterRepository: ChapterRepository, diff --git a/app/src/main/java/eu/kanade/domain/chapter/interactor/GetMergedChapterByMangaId.kt b/app/src/main/java/eu/kanade/domain/chapter/interactor/GetMergedChapterByMangaId.kt index c03679390..03925bf2a 100644 --- a/app/src/main/java/eu/kanade/domain/chapter/interactor/GetMergedChapterByMangaId.kt +++ b/app/src/main/java/eu/kanade/domain/chapter/interactor/GetMergedChapterByMangaId.kt @@ -1,6 +1,5 @@ package eu.kanade.domain.chapter.interactor -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.chapter.repository.ChapterRepository import eu.kanade.domain.manga.interactor.GetMergedReferencesById import eu.kanade.tachiyomi.util.system.logcat @@ -10,6 +9,7 @@ import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.flowOf import logcat.LogPriority +import tachiyomi.domain.chapter.model.Chapter class GetMergedChapterByMangaId( private val chapterRepository: ChapterRepository, diff --git a/app/src/main/java/eu/kanade/domain/chapter/interactor/SetDefaultChapterSettings.kt b/app/src/main/java/eu/kanade/domain/chapter/interactor/SetDefaultChapterSettings.kt index 45432c5d5..0e9ea9518 100644 --- a/app/src/main/java/eu/kanade/domain/chapter/interactor/SetDefaultChapterSettings.kt +++ b/app/src/main/java/eu/kanade/domain/chapter/interactor/SetDefaultChapterSettings.kt @@ -3,8 +3,8 @@ package eu.kanade.domain.chapter.interactor import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.manga.interactor.GetFavorites import eu.kanade.domain.manga.interactor.SetMangaChapterFlags -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.util.lang.withNonCancellableContext +import tachiyomi.domain.manga.model.Manga class SetMangaDefaultChapterFlags( private val libraryPreferences: LibraryPreferences, 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 1d3bc67e0..eb4d27018 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 @@ -1,16 +1,16 @@ package eu.kanade.domain.chapter.interactor -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.chapter.model.ChapterUpdate import eu.kanade.domain.chapter.repository.ChapterRepository import eu.kanade.domain.download.interactor.DeleteDownload import eu.kanade.domain.download.service.DownloadPreferences -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.repository.MangaRepository import eu.kanade.tachiyomi.util.lang.withNonCancellableContext import eu.kanade.tachiyomi.util.system.logcat import exh.source.MERGED_SOURCE_ID import logcat.LogPriority +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.chapter.model.ChapterUpdate +import tachiyomi.domain.manga.model.Manga class SetReadStatus( private val downloadPreferences: DownloadPreferences, diff --git a/app/src/main/java/eu/kanade/domain/chapter/interactor/ShouldUpdateDbChapter.kt b/app/src/main/java/eu/kanade/domain/chapter/interactor/ShouldUpdateDbChapter.kt index e0d455feb..32ce3ec6d 100644 --- a/app/src/main/java/eu/kanade/domain/chapter/interactor/ShouldUpdateDbChapter.kt +++ b/app/src/main/java/eu/kanade/domain/chapter/interactor/ShouldUpdateDbChapter.kt @@ -1,6 +1,6 @@ package eu.kanade.domain.chapter.interactor -import eu.kanade.domain.chapter.model.Chapter +import tachiyomi.domain.chapter.model.Chapter class ShouldUpdateDbChapter { diff --git a/app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt b/app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt index de68e985c..2ed0512c1 100644 --- a/app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt +++ b/app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt @@ -2,11 +2,11 @@ package eu.kanade.domain.chapter.interactor import eu.kanade.data.chapter.CleanupChapterName import eu.kanade.data.chapter.NoChaptersException -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.chapter.model.toChapterUpdate +import eu.kanade.domain.chapter.model.copyFromSChapter +import eu.kanade.domain.chapter.model.toSChapter import eu.kanade.domain.chapter.repository.ChapterRepository import eu.kanade.domain.manga.interactor.UpdateManga -import eu.kanade.domain.manga.model.Manga +import eu.kanade.domain.manga.model.toSManga import eu.kanade.tachiyomi.data.download.DownloadManager import eu.kanade.tachiyomi.data.download.DownloadProvider import eu.kanade.tachiyomi.source.Source @@ -15,6 +15,9 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.chapter.ChapterRecognition import exh.source.isEhBasedManga +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.chapter.model.toChapterUpdate +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.lang.Long.max diff --git a/app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithTrackServiceTwoWay.kt b/app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithTrackServiceTwoWay.kt index bf4de3575..449534a14 100644 --- a/app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithTrackServiceTwoWay.kt +++ b/app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithTrackServiceTwoWay.kt @@ -1,13 +1,13 @@ package eu.kanade.domain.chapter.interactor -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.chapter.model.toChapterUpdate import eu.kanade.domain.track.interactor.InsertTrack import eu.kanade.domain.track.model.Track import eu.kanade.domain.track.model.toDbTrack import eu.kanade.tachiyomi.data.track.TrackService import eu.kanade.tachiyomi.util.system.logcat import logcat.LogPriority +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.chapter.model.toChapterUpdate import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/domain/chapter/interactor/UpdateChapter.kt b/app/src/main/java/eu/kanade/domain/chapter/interactor/UpdateChapter.kt index 5dfa7a822..c8e2a1231 100644 --- a/app/src/main/java/eu/kanade/domain/chapter/interactor/UpdateChapter.kt +++ b/app/src/main/java/eu/kanade/domain/chapter/interactor/UpdateChapter.kt @@ -1,9 +1,9 @@ package eu.kanade.domain.chapter.interactor -import eu.kanade.domain.chapter.model.ChapterUpdate import eu.kanade.domain.chapter.repository.ChapterRepository import eu.kanade.tachiyomi.util.system.logcat import logcat.LogPriority +import tachiyomi.domain.chapter.model.ChapterUpdate class UpdateChapter( private val chapterRepository: ChapterRepository, diff --git a/app/src/main/java/eu/kanade/domain/chapter/model/Chapter.kt b/app/src/main/java/eu/kanade/domain/chapter/model/Chapter.kt index 324f9fca1..3492443dd 100644 --- a/app/src/main/java/eu/kanade/domain/chapter/model/Chapter.kt +++ b/app/src/main/java/eu/kanade/domain/chapter/model/Chapter.kt @@ -2,64 +2,30 @@ package eu.kanade.domain.chapter.model import eu.kanade.tachiyomi.data.database.models.ChapterImpl import eu.kanade.tachiyomi.source.model.SChapter +import tachiyomi.domain.chapter.model.Chapter import eu.kanade.tachiyomi.data.database.models.Chapter as DbChapter -data class Chapter( - val id: Long, - val mangaId: Long, - val read: Boolean, - val bookmark: Boolean, - val lastPageRead: Long, - val dateFetch: Long, - val sourceOrder: Long, - val url: String, - val name: String, - val dateUpload: Long, - val chapterNumber: Float, - val scanlator: String?, -) { - val isRecognizedNumber: Boolean - get() = chapterNumber >= 0f - - fun toSChapter(): SChapter { - return SChapter.create().also { - it.url = url - it.name = name - it.date_upload = dateUpload - it.chapter_number = chapterNumber - it.scanlator = scanlator - } - } - - fun copyFromSChapter(sChapter: SChapter): Chapter { - return this.copy( - name = sChapter.name, - url = sChapter.url, - dateUpload = sChapter.date_upload, - chapterNumber = sChapter.chapter_number, - scanlator = sChapter.scanlator?.ifBlank { null }, - ) - } - - companion object { - fun create() = Chapter( - id = -1, - mangaId = -1, - read = false, - bookmark = false, - lastPageRead = 0, - dateFetch = 0, - sourceOrder = 0, - url = "", - name = "", - dateUpload = -1, - chapterNumber = -1f, - scanlator = null, - ) +// TODO: Remove when all deps are migrated +fun Chapter.toSChapter(): SChapter { + return SChapter.create().also { + it.url = url + it.name = name + it.date_upload = dateUpload + it.chapter_number = chapterNumber + it.scanlator = scanlator } } -// TODO: Remove when all deps are migrated +fun Chapter.copyFromSChapter(sChapter: SChapter): Chapter { + return this.copy( + name = sChapter.name, + url = sChapter.url, + dateUpload = sChapter.date_upload, + chapterNumber = sChapter.chapter_number, + scanlator = sChapter.scanlator?.ifBlank { null }, + ) +} + fun Chapter.toDbChapter(): DbChapter = ChapterImpl().also { it.id = id it.manga_id = mangaId diff --git a/app/src/main/java/eu/kanade/domain/chapter/model/ChapterFilter.kt b/app/src/main/java/eu/kanade/domain/chapter/model/ChapterFilter.kt index 718c4eab5..23c681eb8 100644 --- a/app/src/main/java/eu/kanade/domain/chapter/model/ChapterFilter.kt +++ b/app/src/main/java/eu/kanade/domain/chapter/model/ChapterFilter.kt @@ -1,13 +1,15 @@ package eu.kanade.domain.chapter.model -import eu.kanade.domain.manga.model.Manga -import eu.kanade.domain.manga.model.TriStateFilter +import eu.kanade.domain.manga.model.downloadedFilter import eu.kanade.domain.manga.model.isLocal import eu.kanade.tachiyomi.data.download.DownloadManager import eu.kanade.tachiyomi.data.download.model.Download import eu.kanade.tachiyomi.ui.manga.ChapterItem import eu.kanade.tachiyomi.util.chapter.getChapterSort import exh.md.utils.MdUtil +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga +import tachiyomi.domain.manga.model.TriStateFilter /** * Applies the view filters to the list of chapters obtained from the database. @@ -47,7 +49,7 @@ fun List.applyFilters(manga: Manga, downloadManager: DownloadManager): } // SY --> .filter { chapter -> - manga.filteredScanlators.isNullOrEmpty() || MdUtil.getScanlators(chapter.scanlator).any { group -> manga.filteredScanlators.contains(group) } + manga.filteredScanlators.isNullOrEmpty() || MdUtil.getScanlators(chapter.scanlator).any { group -> manga.filteredScanlators!!.contains(group) } } // SY <-- .sortedWith(getChapterSort(manga)) @@ -86,7 +88,7 @@ fun List.applyFilters(manga: Manga): Sequence { } // SY --> .filter { chapter -> - manga.filteredScanlators.isNullOrEmpty() || MdUtil.getScanlators(chapter.chapter.scanlator).any { group -> manga.filteredScanlators.contains(group) } + manga.filteredScanlators.isNullOrEmpty() || MdUtil.getScanlators(chapter.chapter.scanlator).any { group -> manga.filteredScanlators!!.contains(group) } } // SY <-- .sortedWith { (chapter1), (chapter2) -> getChapterSort(manga).invoke(chapter1, chapter2) } diff --git a/app/src/main/java/eu/kanade/domain/chapter/repository/ChapterRepository.kt b/app/src/main/java/eu/kanade/domain/chapter/repository/ChapterRepository.kt index feb4658d7..00c59c66a 100644 --- a/app/src/main/java/eu/kanade/domain/chapter/repository/ChapterRepository.kt +++ b/app/src/main/java/eu/kanade/domain/chapter/repository/ChapterRepository.kt @@ -1,8 +1,8 @@ package eu.kanade.domain.chapter.repository -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.chapter.model.ChapterUpdate import kotlinx.coroutines.flow.Flow +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.chapter.model.ChapterUpdate interface ChapterRepository { diff --git a/app/src/main/java/eu/kanade/domain/download/interactor/DeleteDownload.kt b/app/src/main/java/eu/kanade/domain/download/interactor/DeleteDownload.kt index 80af9deef..95d94f906 100644 --- a/app/src/main/java/eu/kanade/domain/download/interactor/DeleteDownload.kt +++ b/app/src/main/java/eu/kanade/domain/download/interactor/DeleteDownload.kt @@ -1,10 +1,10 @@ package eu.kanade.domain.download.interactor -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.data.download.DownloadManager import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.util.lang.withNonCancellableContext +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga class DeleteDownload( private val sourceManager: SourceManager, diff --git a/app/src/main/java/eu/kanade/domain/history/interactor/GetNextChapters.kt b/app/src/main/java/eu/kanade/domain/history/interactor/GetNextChapters.kt index cb56ae01e..38982bef4 100644 --- a/app/src/main/java/eu/kanade/domain/history/interactor/GetNextChapters.kt +++ b/app/src/main/java/eu/kanade/domain/history/interactor/GetNextChapters.kt @@ -2,12 +2,12 @@ package eu.kanade.domain.history.interactor import eu.kanade.domain.chapter.interactor.GetChapterByMangaId import eu.kanade.domain.chapter.interactor.GetMergedChapterByMangaId -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.history.repository.HistoryRepository import eu.kanade.domain.manga.interactor.GetManga import eu.kanade.tachiyomi.util.chapter.getChapterSort import exh.source.MERGED_SOURCE_ID import exh.source.isEhBasedManga +import tachiyomi.domain.chapter.model.Chapter import kotlin.math.max class GetNextChapters( diff --git a/app/src/main/java/eu/kanade/domain/library/model/LibraryManga.kt b/app/src/main/java/eu/kanade/domain/library/model/LibraryManga.kt index 085e4096f..85a5728c1 100644 --- a/app/src/main/java/eu/kanade/domain/library/model/LibraryManga.kt +++ b/app/src/main/java/eu/kanade/domain/library/model/LibraryManga.kt @@ -1,6 +1,6 @@ package eu.kanade.domain.library.model -import eu.kanade.domain.manga.model.Manga +import tachiyomi.domain.manga.model.Manga data class LibraryManga( val manga: Manga, diff --git a/app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt b/app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt index 09dc14b8e..53753580f 100644 --- a/app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt +++ b/app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt @@ -2,7 +2,6 @@ package eu.kanade.domain.library.service import eu.kanade.domain.library.model.GroupLibraryMode import eu.kanade.domain.library.model.LibraryGroup -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.core.preference.PreferenceStore import eu.kanade.tachiyomi.core.preference.getEnum import eu.kanade.tachiyomi.data.preference.DEVICE_ONLY_ON_WIFI @@ -12,6 +11,7 @@ import eu.kanade.tachiyomi.data.preference.MANGA_NON_READ import eu.kanade.tachiyomi.widget.ExtendedNavigationView import tachiyomi.domain.library.model.LibraryDisplayMode import tachiyomi.domain.library.model.LibrarySort +import tachiyomi.domain.manga.model.Manga class LibraryPreferences( private val preferenceStore: PreferenceStore, diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/GetAllManga.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/GetAllManga.kt index 44dfa20ef..4503ed299 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/GetAllManga.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/GetAllManga.kt @@ -1,7 +1,7 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.repository.MangaRepository +import tachiyomi.domain.manga.model.Manga class GetAllManga( private val mangaRepository: MangaRepository, diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/GetDuplicateLibraryManga.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/GetDuplicateLibraryManga.kt index 02e7a4fc3..c7dd45b4b 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/GetDuplicateLibraryManga.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/GetDuplicateLibraryManga.kt @@ -1,7 +1,7 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.repository.MangaRepository +import tachiyomi.domain.manga.model.Manga class GetDuplicateLibraryManga( private val mangaRepository: MangaRepository, diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/GetExhFavoriteMangaWithMetadata.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/GetExhFavoriteMangaWithMetadata.kt index 7865078ef..d22302897 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/GetExhFavoriteMangaWithMetadata.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/GetExhFavoriteMangaWithMetadata.kt @@ -1,7 +1,7 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.repository.MangaMetadataRepository +import tachiyomi.domain.manga.model.Manga class GetExhFavoriteMangaWithMetadata( private val mangaMetadataRepository: MangaMetadataRepository, diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/GetFavorites.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/GetFavorites.kt index 6365d86be..b433261a7 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/GetFavorites.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/GetFavorites.kt @@ -1,8 +1,8 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.repository.MangaRepository import kotlinx.coroutines.flow.Flow +import tachiyomi.domain.manga.model.Manga class GetFavorites( private val mangaRepository: MangaRepository, diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/GetManga.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/GetManga.kt index 4c98da4c2..0e64d89ab 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/GetManga.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/GetManga.kt @@ -1,11 +1,11 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.repository.MangaRepository import eu.kanade.tachiyomi.source.online.MetadataSource import eu.kanade.tachiyomi.util.system.logcat import kotlinx.coroutines.flow.Flow import logcat.LogPriority +import tachiyomi.domain.manga.model.Manga class GetManga( private val mangaRepository: MangaRepository, diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/GetMangaBySource.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/GetMangaBySource.kt index 8fdea25af..0bf48deb5 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/GetMangaBySource.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/GetMangaBySource.kt @@ -1,7 +1,7 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.repository.MangaRepository +import tachiyomi.domain.manga.model.Manga class GetMangaBySource( private val mangaRepository: MangaRepository, diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/GetMangaWithChapters.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/GetMangaWithChapters.kt index 5189c42e0..34b0a3363 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/GetMangaWithChapters.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/GetMangaWithChapters.kt @@ -1,11 +1,11 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.chapter.repository.ChapterRepository -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.repository.MangaRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga class GetMangaWithChapters( private val mangaRepository: MangaRepository, diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/GetMergedManga.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/GetMergedManga.kt index f6cd0732b..4aceb736b 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/GetMergedManga.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/GetMergedManga.kt @@ -1,10 +1,10 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.repository.MangaMergeRepository import eu.kanade.tachiyomi.util.system.logcat import kotlinx.coroutines.flow.Flow import logcat.LogPriority +import tachiyomi.domain.manga.model.Manga class GetMergedManga( private val mangaMergeRepository: MangaMergeRepository, diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/GetMergedMangaById.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/GetMergedMangaById.kt index 821ab3c21..7d012bfcc 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/GetMergedMangaById.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/GetMergedMangaById.kt @@ -1,10 +1,10 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.repository.MangaMergeRepository import eu.kanade.tachiyomi.util.system.logcat import kotlinx.coroutines.flow.Flow import logcat.LogPriority +import tachiyomi.domain.manga.model.Manga class GetMergedMangaById( private val mangaMergeRepository: MangaMergeRepository, diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/GetMergedMangaForDownloading.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/GetMergedMangaForDownloading.kt index 69694fa0d..06df3e430 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/GetMergedMangaForDownloading.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/GetMergedMangaForDownloading.kt @@ -1,7 +1,7 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.repository.MangaMergeRepository +import tachiyomi.domain.manga.model.Manga class GetMergedMangaForDownloading( private val mangaMergeRepository: MangaMergeRepository, diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/GetPagePreviews.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/GetPagePreviews.kt index 670630511..4071b00e4 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/GetPagePreviews.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/GetPagePreviews.kt @@ -1,12 +1,14 @@ package eu.kanade.domain.manga.interactor import eu.kanade.domain.chapter.interactor.GetChapterByMangaId -import eu.kanade.domain.manga.model.Manga +import eu.kanade.domain.chapter.model.toSChapter import eu.kanade.domain.manga.model.PagePreview +import eu.kanade.domain.manga.model.toSManga import eu.kanade.tachiyomi.data.cache.PagePreviewCache import eu.kanade.tachiyomi.source.PagePreviewSource import eu.kanade.tachiyomi.source.Source import exh.source.getMainSource +import tachiyomi.domain.manga.model.Manga class GetPagePreviews( private val pagePreviewCache: PagePreviewCache, diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/NetworkToLocalManga.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/NetworkToLocalManga.kt index d863e7b73..1b75ca573 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/NetworkToLocalManga.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/NetworkToLocalManga.kt @@ -1,7 +1,7 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.repository.MangaRepository +import tachiyomi.domain.manga.model.Manga class NetworkToLocalManga( private val mangaRepository: MangaRepository, diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/SetMangaChapterFlags.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/SetMangaChapterFlags.kt index e8eebcdc9..682754183 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/SetMangaChapterFlags.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/SetMangaChapterFlags.kt @@ -1,7 +1,7 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.repository.MangaRepository +import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.manga.model.MangaUpdate class SetMangaChapterFlags( diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/SetMangaFilteredScanlators.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/SetMangaFilteredScanlators.kt index bfdf94dcb..87ce7b326 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/SetMangaFilteredScanlators.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/SetMangaFilteredScanlators.kt @@ -1,7 +1,7 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.repository.MangaRepository +import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.manga.model.MangaUpdate class SetMangaFilteredScanlators(private val mangaRepository: MangaRepository) { diff --git a/app/src/main/java/eu/kanade/domain/manga/interactor/UpdateManga.kt b/app/src/main/java/eu/kanade/domain/manga/interactor/UpdateManga.kt index fc6ca01b4..a902a58e0 100644 --- a/app/src/main/java/eu/kanade/domain/manga/interactor/UpdateManga.kt +++ b/app/src/main/java/eu/kanade/domain/manga/interactor/UpdateManga.kt @@ -1,12 +1,12 @@ package eu.kanade.domain.manga.interactor -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.model.hasCustomCover import eu.kanade.domain.manga.model.isLocal import eu.kanade.domain.manga.repository.MangaRepository import eu.kanade.tachiyomi.data.cache.CoverCache import eu.kanade.tachiyomi.data.download.DownloadManager import eu.kanade.tachiyomi.source.model.SManga +import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.manga.model.MangaUpdate import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/domain/manga/model/ComicInfo.kt b/app/src/main/java/eu/kanade/domain/manga/model/ComicInfo.kt index 74d288f5a..95987f530 100644 --- a/app/src/main/java/eu/kanade/domain/manga/model/ComicInfo.kt +++ b/app/src/main/java/eu/kanade/domain/manga/model/ComicInfo.kt @@ -1,11 +1,12 @@ package eu.kanade.domain.manga.model -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.tachiyomi.source.model.SManga import kotlinx.serialization.Serializable import nl.adaptivity.xmlutil.serialization.XmlElement import nl.adaptivity.xmlutil.serialization.XmlSerialName import nl.adaptivity.xmlutil.serialization.XmlValue +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga const val COMIC_INFO_FILE = "ComicInfo.xml" diff --git a/app/src/main/java/eu/kanade/domain/manga/model/Manga.kt b/app/src/main/java/eu/kanade/domain/manga/model/Manga.kt index 730d36510..478a189b4 100644 --- a/app/src/main/java/eu/kanade/domain/manga/model/Manga.kt +++ b/app/src/main/java/eu/kanade/domain/manga/model/Manga.kt @@ -4,272 +4,75 @@ import eu.kanade.domain.base.BasePreferences import eu.kanade.tachiyomi.data.cache.CoverCache import eu.kanade.tachiyomi.source.LocalSource import eu.kanade.tachiyomi.source.model.SManga -import eu.kanade.tachiyomi.source.model.UpdateStrategy import eu.kanade.tachiyomi.ui.reader.setting.OrientationType import eu.kanade.tachiyomi.ui.reader.setting.ReadingModeType -import eu.kanade.tachiyomi.widget.ExtendedNavigationView -import tachiyomi.domain.manga.interactor.GetCustomMangaInfo -import tachiyomi.domain.manga.model.MangaUpdate +import tachiyomi.domain.manga.model.Manga +import tachiyomi.domain.manga.model.TriStateFilter import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get -import uy.kohesive.injekt.injectLazy -import java.io.Serializable -data class Manga( - val id: Long, - val source: Long, - val favorite: Boolean, - val lastUpdate: Long, - val dateAdded: Long, - val viewerFlags: Long, - val chapterFlags: Long, - val coverLastModified: Long, - val url: String, - // SY --> - val ogTitle: String, - val ogArtist: String?, - val ogAuthor: String?, - val ogDescription: String?, - val ogGenre: List?, - val ogStatus: Long, - // SY <-- - val thumbnailUrl: String?, - val updateStrategy: UpdateStrategy, - val initialized: Boolean, - // SY --> - val filteredScanlators: List?, - // SY <-- -) : Serializable { +// TODO: move these into the domain model +val Manga.readingModeType: Long + get() = viewerFlags and ReadingModeType.MASK.toLong() +val Manga.orientationType: Long + get() = viewerFlags and OrientationType.MASK.toLong() + +val Manga.downloadedFilter: TriStateFilter + get() { + if (forceDownloaded()) return TriStateFilter.ENABLED_IS + return when (downloadedFilterRaw) { + Manga.CHAPTER_SHOW_DOWNLOADED -> TriStateFilter.ENABLED_IS + Manga.CHAPTER_SHOW_NOT_DOWNLOADED -> TriStateFilter.ENABLED_NOT + else -> TriStateFilter.DISABLED + } + } +fun Manga.chaptersFiltered(): Boolean { + return unreadFilter != TriStateFilter.DISABLED || + downloadedFilter != TriStateFilter.DISABLED || + bookmarkedFilter != TriStateFilter.DISABLED +} +fun Manga.forceDownloaded(): Boolean { + return favorite && Injekt.get().downloadedOnly().get() +} + +fun Manga.toSManga(): SManga = SManga.create().also { + it.url = url + it.title = title + it.artist = artist + it.author = author + it.description = description + it.genre = genre.orEmpty().joinToString() + it.status = status.toInt() + it.thumbnail_url = thumbnailUrl + it.initialized = initialized +} + +fun Manga.copyFrom(other: SManga): Manga { // SY --> - private val customMangaInfo = if (favorite) { - getCustomMangaInfo.get(id) + val author = other.author ?: ogAuthor + val artist = other.artist ?: ogArtist + val description = other.description ?: ogDescription + val genres = if (other.genre != null) { + other.getGenres() } else { - null + ogGenre } - - val title: String - get() = customMangaInfo?.title ?: ogTitle - - val author: String? - get() = customMangaInfo?.author ?: ogAuthor - - val artist: String? - get() = customMangaInfo?.artist ?: ogArtist - - val description: String? - get() = customMangaInfo?.description ?: ogDescription - - val genre: List? - get() = customMangaInfo?.genre ?: ogGenre - - val status: Long - get() = customMangaInfo?.status ?: ogStatus // SY <-- - - val sorting: Long - get() = chapterFlags and CHAPTER_SORTING_MASK - - val displayMode: Long - get() = chapterFlags and CHAPTER_DISPLAY_MASK - - val unreadFilterRaw: Long - get() = chapterFlags and CHAPTER_UNREAD_MASK - - val downloadedFilterRaw: Long - get() = chapterFlags and CHAPTER_DOWNLOADED_MASK - - val bookmarkedFilterRaw: Long - get() = chapterFlags and CHAPTER_BOOKMARKED_MASK - - val readingModeType: Long - get() = viewerFlags and ReadingModeType.MASK.toLong() - - val orientationType: Long - get() = viewerFlags and OrientationType.MASK.toLong() - - val unreadFilter: TriStateFilter - get() = when (unreadFilterRaw) { - CHAPTER_SHOW_UNREAD -> TriStateFilter.ENABLED_IS - CHAPTER_SHOW_READ -> TriStateFilter.ENABLED_NOT - else -> TriStateFilter.DISABLED - } - - val downloadedFilter: TriStateFilter - get() { - if (forceDownloaded()) return TriStateFilter.ENABLED_IS - return when (downloadedFilterRaw) { - CHAPTER_SHOW_DOWNLOADED -> TriStateFilter.ENABLED_IS - CHAPTER_SHOW_NOT_DOWNLOADED -> TriStateFilter.ENABLED_NOT - else -> TriStateFilter.DISABLED - } - } - - val bookmarkedFilter: TriStateFilter - get() = when (bookmarkedFilterRaw) { - CHAPTER_SHOW_BOOKMARKED -> TriStateFilter.ENABLED_IS - CHAPTER_SHOW_NOT_BOOKMARKED -> TriStateFilter.ENABLED_NOT - else -> TriStateFilter.DISABLED - } - - fun chaptersFiltered(): Boolean { - return unreadFilter != TriStateFilter.DISABLED || - downloadedFilter != TriStateFilter.DISABLED || - bookmarkedFilter != TriStateFilter.DISABLED - } - - fun forceDownloaded(): Boolean { - return favorite && Injekt.get().downloadedOnly().get() - } - - fun sortDescending(): Boolean { - return chapterFlags and CHAPTER_SORT_DIR_MASK == CHAPTER_SORT_DESC - } - - fun toSManga(): SManga = SManga.create().also { - it.url = url + val thumbnailUrl = other.thumbnail_url ?: thumbnailUrl + return this.copy( // SY --> - it.title = ogTitle - it.artist = ogArtist - it.author = ogAuthor - it.description = ogDescription - it.genre = ogGenre.orEmpty().joinToString() - it.status = ogStatus.toInt() - // SY <-- - it.thumbnail_url = thumbnailUrl - it.initialized = initialized - } - - fun copyFrom(other: SManga): Manga { - // SY --> - val author = other.author ?: ogAuthor - val artist = other.artist ?: ogArtist - val description = other.description ?: ogDescription - val genres = if (other.genre != null) { - other.getGenres() - } else { - ogGenre - } - // SY <-- - val thumbnailUrl = other.thumbnail_url ?: thumbnailUrl - return this.copy( - // SY --> - ogAuthor = author, - ogArtist = artist, - ogDescription = description, - ogGenre = genres, - // SY <-- - thumbnailUrl = thumbnailUrl, - // SY --> - ogStatus = other.status.toLong(), - // SY <-- - updateStrategy = other.update_strategy, - initialized = other.initialized && initialized, - ) - } - - companion object { - // Generic filter that does not filter anything - const val SHOW_ALL = 0x00000000L - - const val CHAPTER_SORT_DESC = 0x00000000L - const val CHAPTER_SORT_ASC = 0x00000001L - const val CHAPTER_SORT_DIR_MASK = 0x00000001L - - const val CHAPTER_SHOW_UNREAD = 0x00000002L - const val CHAPTER_SHOW_READ = 0x00000004L - const val CHAPTER_UNREAD_MASK = 0x00000006L - - const val CHAPTER_SHOW_DOWNLOADED = 0x00000008L - const val CHAPTER_SHOW_NOT_DOWNLOADED = 0x00000010L - const val CHAPTER_DOWNLOADED_MASK = 0x00000018L - - const val CHAPTER_SHOW_BOOKMARKED = 0x00000020L - const val CHAPTER_SHOW_NOT_BOOKMARKED = 0x00000040L - const val CHAPTER_BOOKMARKED_MASK = 0x00000060L - - const val CHAPTER_SORTING_SOURCE = 0x00000000L - const val CHAPTER_SORTING_NUMBER = 0x00000100L - const val CHAPTER_SORTING_UPLOAD_DATE = 0x00000200L - const val CHAPTER_SORTING_MASK = 0x00000300L - - const val CHAPTER_DISPLAY_NAME = 0x00000000L - const val CHAPTER_DISPLAY_NUMBER = 0x00100000L - const val CHAPTER_DISPLAY_MASK = 0x00100000L - - fun create() = Manga( - id = -1L, - url = "", - // Sy --> - ogTitle = "", - // SY <-- - source = -1L, - favorite = false, - lastUpdate = 0L, - dateAdded = 0L, - viewerFlags = 0L, - chapterFlags = 0L, - coverLastModified = 0L, - // SY --> - ogArtist = null, - ogAuthor = null, - ogDescription = null, - ogGenre = null, - ogStatus = 0L, - // SY <-- - thumbnailUrl = null, - updateStrategy = UpdateStrategy.ALWAYS_UPDATE, - initialized = false, - // SY --> - filteredScanlators = null, - // SY <-- - ) - - // SY --> - private val getCustomMangaInfo: GetCustomMangaInfo by injectLazy() - // SY <-- - } -} - -enum class TriStateFilter { - DISABLED, // Disable filter - ENABLED_IS, // Enabled with "is" filter - ENABLED_NOT, // Enabled with "not" filter -} - -fun TriStateFilter.toTriStateGroupState(): ExtendedNavigationView.Item.TriStateGroup.State { - return when (this) { - TriStateFilter.DISABLED -> ExtendedNavigationView.Item.TriStateGroup.State.IGNORE - TriStateFilter.ENABLED_IS -> ExtendedNavigationView.Item.TriStateGroup.State.INCLUDE - TriStateFilter.ENABLED_NOT -> ExtendedNavigationView.Item.TriStateGroup.State.EXCLUDE - } -} - -fun Manga.toMangaUpdate(): MangaUpdate { - return MangaUpdate( - id = id, - source = source, - favorite = favorite, - lastUpdate = lastUpdate, - dateAdded = dateAdded, - viewerFlags = viewerFlags, - chapterFlags = chapterFlags, - coverLastModified = coverLastModified, - url = url, - // SY --> - title = ogTitle, - artist = ogArtist, - author = ogAuthor, - description = ogDescription, - genre = ogGenre, - status = ogStatus, + ogAuthor = author, + ogArtist = artist, + ogDescription = description, + ogGenre = genres, // SY <-- thumbnailUrl = thumbnailUrl, - updateStrategy = updateStrategy, - initialized = initialized, // SY --> - filteredScanlators = filteredScanlators, + ogStatus = other.status.toLong(), // SY <-- + updateStrategy = other.update_strategy, + initialized = other.initialized && initialized, ) } diff --git a/app/src/main/java/eu/kanade/domain/manga/model/MangaCover.kt b/app/src/main/java/eu/kanade/domain/manga/model/MangaCover.kt deleted file mode 100644 index d0dec8cee..000000000 --- a/app/src/main/java/eu/kanade/domain/manga/model/MangaCover.kt +++ /dev/null @@ -1,13 +0,0 @@ -package eu.kanade.domain.manga.model - -import tachiyomi.domain.manga.model.MangaCover - -fun Manga.asMangaCover(): MangaCover { - return MangaCover( - mangaId = id, - sourceId = source, - isMangaFavorite = favorite, - url = thumbnailUrl, - lastModified = coverLastModified, - ) -} diff --git a/app/src/main/java/eu/kanade/domain/manga/repository/MangaMergeRepository.kt b/app/src/main/java/eu/kanade/domain/manga/repository/MangaMergeRepository.kt index d279880a2..0cf8a31fc 100644 --- a/app/src/main/java/eu/kanade/domain/manga/repository/MangaMergeRepository.kt +++ b/app/src/main/java/eu/kanade/domain/manga/repository/MangaMergeRepository.kt @@ -1,9 +1,9 @@ package eu.kanade.domain.manga.repository -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.model.MergeMangaSettingsUpdate import exh.merged.sql.models.MergedMangaReference import kotlinx.coroutines.flow.Flow +import tachiyomi.domain.manga.model.Manga interface MangaMergeRepository { suspend fun getMergedManga(): List diff --git a/app/src/main/java/eu/kanade/domain/manga/repository/MangaMetadataRepository.kt b/app/src/main/java/eu/kanade/domain/manga/repository/MangaMetadataRepository.kt index 145fa3db2..5c84efe7e 100644 --- a/app/src/main/java/eu/kanade/domain/manga/repository/MangaMetadataRepository.kt +++ b/app/src/main/java/eu/kanade/domain/manga/repository/MangaMetadataRepository.kt @@ -1,12 +1,12 @@ package eu.kanade.domain.manga.repository -import eu.kanade.domain.manga.model.Manga import exh.metadata.metadata.base.FlatMetadata import exh.metadata.metadata.base.RaisedSearchMetadata import exh.metadata.sql.models.SearchMetadata import exh.metadata.sql.models.SearchTag import exh.metadata.sql.models.SearchTitle import kotlinx.coroutines.flow.Flow +import tachiyomi.domain.manga.model.Manga interface MangaMetadataRepository { suspend fun getMetadataById(id: Long): SearchMetadata? diff --git a/app/src/main/java/eu/kanade/domain/manga/repository/MangaRepository.kt b/app/src/main/java/eu/kanade/domain/manga/repository/MangaRepository.kt index 3969697eb..d6e70e053 100644 --- a/app/src/main/java/eu/kanade/domain/manga/repository/MangaRepository.kt +++ b/app/src/main/java/eu/kanade/domain/manga/repository/MangaRepository.kt @@ -1,8 +1,8 @@ package eu.kanade.domain.manga.repository import eu.kanade.domain.library.model.LibraryManga -import eu.kanade.domain.manga.model.Manga import kotlinx.coroutines.flow.Flow +import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.manga.model.MangaUpdate interface MangaRepository { diff --git a/app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt index 8004cdd65..73f32474b 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt @@ -15,7 +15,6 @@ import androidx.compose.ui.platform.LocalContext import androidx.paging.LoadState import androidx.paging.compose.LazyPagingItems import eu.kanade.data.source.NoResultsException -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.browse.components.BrowseSourceComfortableGrid import eu.kanade.presentation.browse.components.BrowseSourceCompactGrid import eu.kanade.presentation.browse.components.BrowseSourceEHentaiList @@ -30,6 +29,7 @@ import exh.metadata.metadata.base.RaisedSearchMetadata import exh.source.isEhBasedSource import kotlinx.coroutines.flow.StateFlow import tachiyomi.domain.library.model.LibraryDisplayMode +import tachiyomi.domain.manga.model.Manga @Composable fun BrowseSourceContent( diff --git a/app/src/main/java/eu/kanade/presentation/browse/FeedScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/FeedScreen.kt index 0a78213ca..48cbad9eb 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/FeedScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/FeedScreen.kt @@ -29,7 +29,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.browse.components.GlobalSearchCardRow import eu.kanade.presentation.browse.components.GlobalSearchErrorResultItem import eu.kanade.presentation.browse.components.GlobalSearchLoadingResultItem @@ -46,6 +45,7 @@ import eu.kanade.tachiyomi.ui.browse.feed.FeedScreenState import exh.savedsearches.models.FeedSavedSearch import exh.savedsearches.models.SavedSearch import kotlinx.coroutines.delay +import tachiyomi.domain.manga.model.Manga import kotlin.time.Duration.Companion.seconds data class FeedItemUI( diff --git a/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt index c4ddabbca..fd78be634 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt @@ -8,7 +8,6 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.State import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.browse.components.GlobalSearchCardRow import eu.kanade.presentation.browse.components.GlobalSearchErrorResultItem import eu.kanade.presentation.browse.components.GlobalSearchLoadingResultItem @@ -22,6 +21,7 @@ import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchState import eu.kanade.tachiyomi.ui.browse.source.globalsearch.SearchItemResult import eu.kanade.tachiyomi.util.system.LocaleHelper +import tachiyomi.domain.manga.model.Manga @Composable fun GlobalSearchScreen( diff --git a/app/src/main/java/eu/kanade/presentation/browse/MigrateMangaScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/MigrateMangaScreen.kt index ca06c6d46..970d479bd 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/MigrateMangaScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/MigrateMangaScreen.kt @@ -5,7 +5,6 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.items import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.components.AppBar import eu.kanade.presentation.components.EmptyScreen import eu.kanade.presentation.components.FastScrollLazyColumn @@ -13,6 +12,7 @@ import eu.kanade.presentation.components.Scaffold import eu.kanade.presentation.manga.components.BaseMangaListItem import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.ui.browse.migration.manga.MigrateMangaState +import tachiyomi.domain.manga.model.Manga @Composable fun MigrateMangaScreen( diff --git a/app/src/main/java/eu/kanade/presentation/browse/MigrateSearchScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/MigrateSearchScreen.kt index 813cf9780..acd2a6b4d 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/MigrateSearchScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/MigrateSearchScreen.kt @@ -3,7 +3,6 @@ package eu.kanade.presentation.browse import androidx.compose.foundation.layout.PaddingValues import androidx.compose.runtime.Composable import androidx.compose.runtime.State -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.browse.components.GlobalSearchCardRow import eu.kanade.presentation.browse.components.GlobalSearchEmptyResultItem import eu.kanade.presentation.browse.components.GlobalSearchErrorResultItem @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.ui.browse.migration.search.MigrateSearchState import eu.kanade.tachiyomi.ui.browse.source.globalsearch.SearchItemResult import eu.kanade.tachiyomi.util.system.LocaleHelper +import tachiyomi.domain.manga.model.Manga @Composable fun MigrateSearchScreen( diff --git a/app/src/main/java/eu/kanade/presentation/browse/MigrationListScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/MigrationListScreen.kt index f67dc3c61..795cefaff 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/MigrationListScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/MigrationListScreen.kt @@ -24,7 +24,6 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.browse.components.MigrationActionIcon import eu.kanade.presentation.browse.components.MigrationItem import eu.kanade.presentation.browse.components.MigrationItemResult @@ -36,6 +35,7 @@ import eu.kanade.presentation.util.topSmallPaddingValues import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigratingManga import eu.kanade.tachiyomi.util.lang.withIOContext +import tachiyomi.domain.manga.model.Manga @Composable fun MigrationListScreen( diff --git a/app/src/main/java/eu/kanade/presentation/browse/SourceFeedScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/SourceFeedScreen.kt index 346aeb703..a6a4f09e2 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/SourceFeedScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/SourceFeedScreen.kt @@ -9,7 +9,6 @@ import androidx.compose.runtime.ReadOnlyComposable import androidx.compose.runtime.State import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.browse.components.BrowseSourceFloatingActionButton import eu.kanade.presentation.browse.components.GlobalSearchCardRow import eu.kanade.presentation.browse.components.GlobalSearchErrorResultItem @@ -25,6 +24,7 @@ import eu.kanade.presentation.util.topSmallPaddingValues import eu.kanade.tachiyomi.R import exh.savedsearches.models.FeedSavedSearch import exh.savedsearches.models.SavedSearch +import tachiyomi.domain.manga.model.Manga sealed class SourceFeedUI { abstract val id: Long diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt index 0eb2f5cef..72c9b9cb2 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt @@ -15,7 +15,6 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.paging.LoadState import androidx.paging.compose.LazyPagingItems -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.browse.InLibraryBadge import eu.kanade.presentation.components.Badge import eu.kanade.presentation.components.CommonMangaItemDefaults @@ -25,6 +24,7 @@ import eu.kanade.tachiyomi.R import exh.metadata.metadata.MangaDexSearchMetadata import exh.metadata.metadata.base.RaisedSearchMetadata import kotlinx.coroutines.flow.StateFlow +import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.manga.model.MangaCover @Composable diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceCompactGrid.kt b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceCompactGrid.kt index 2ce1a1f21..ef9e63afe 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceCompactGrid.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceCompactGrid.kt @@ -15,7 +15,6 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.paging.LoadState import androidx.paging.compose.LazyPagingItems -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.browse.InLibraryBadge import eu.kanade.presentation.components.Badge import eu.kanade.presentation.components.CommonMangaItemDefaults @@ -25,6 +24,7 @@ import eu.kanade.tachiyomi.R import exh.metadata.metadata.MangaDexSearchMetadata import exh.metadata.metadata.base.RaisedSearchMetadata import kotlinx.coroutines.flow.StateFlow +import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.manga.model.MangaCover @Composable diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceDialogs.kt b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceDialogs.kt index af0047f3c..a067234ee 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceDialogs.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceDialogs.kt @@ -15,9 +15,9 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.window.DialogProperties -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.util.system.toast +import tachiyomi.domain.manga.model.Manga @Composable fun RemoveMangaDialog( diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceEHentaiList.kt b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceEHentaiList.kt index 0e0861e9a..3564eb877 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceEHentaiList.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceEHentaiList.kt @@ -33,7 +33,6 @@ import androidx.paging.compose.LazyPagingItems import androidx.paging.compose.items import com.gowtham.ratingbar.RatingBar import com.gowtham.ratingbar.RatingBarConfig -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.components.Badge import eu.kanade.presentation.components.BadgeGroup import eu.kanade.presentation.components.LazyColumn @@ -48,6 +47,7 @@ import exh.util.SourceTagsUtil import exh.util.SourceTagsUtil.GenreColor import exh.util.floor import kotlinx.coroutines.flow.StateFlow +import tachiyomi.domain.manga.model.Manga import java.util.Date @Composable diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt index 9d0d8950c..2aa04ab41 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt @@ -12,7 +12,6 @@ import androidx.compose.ui.unit.dp import androidx.paging.LoadState import androidx.paging.compose.LazyPagingItems import androidx.paging.compose.items -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.browse.InLibraryBadge import eu.kanade.presentation.components.Badge import eu.kanade.presentation.components.CommonMangaItemDefaults @@ -23,6 +22,7 @@ import eu.kanade.tachiyomi.R import exh.metadata.metadata.MangaDexSearchMetadata import exh.metadata.metadata.base.RaisedSearchMetadata import kotlinx.coroutines.flow.StateFlow +import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.manga.model.MangaCover @Composable diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchCardRow.kt b/app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchCardRow.kt index d2f15a29e..0bd25cd23 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchCardRow.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchCardRow.kt @@ -8,9 +8,9 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.runtime.State import androidx.compose.runtime.getValue -import eu.kanade.domain.manga.model.Manga -import eu.kanade.domain.manga.model.asMangaCover import eu.kanade.presentation.util.padding +import tachiyomi.domain.manga.model.Manga +import tachiyomi.domain.manga.model.asMangaCover @Composable fun GlobalSearchCardRow( diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/MigrationItem.kt b/app/src/main/java/eu/kanade/presentation/browse/components/MigrationItem.kt index 7398ea47a..92a3baa51 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/MigrationItem.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/MigrationItem.kt @@ -26,13 +26,13 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.components.Badge import eu.kanade.presentation.components.BadgeGroup import eu.kanade.presentation.components.MangaCover import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigratingManga import eu.kanade.tachiyomi.util.lang.withIOContext +import tachiyomi.domain.manga.model.Manga @Composable fun MigrationItem( diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/MigrationItemResult.kt b/app/src/main/java/eu/kanade/presentation/browse/components/MigrationItemResult.kt index 0490d9bb1..354e18900 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/MigrationItemResult.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/MigrationItemResult.kt @@ -22,12 +22,12 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.components.MangaCover import eu.kanade.presentation.util.rememberResourceBitmapPainter import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigratingManga import eu.kanade.tachiyomi.util.lang.withIOContext +import tachiyomi.domain.manga.model.Manga @Composable fun MigrationItemResult( diff --git a/app/src/main/java/eu/kanade/presentation/components/SettingsItems.kt b/app/src/main/java/eu/kanade/presentation/components/SettingsItems.kt index ba454cded..e4fa2172a 100644 --- a/app/src/main/java/eu/kanade/presentation/components/SettingsItems.kt +++ b/app/src/main/java/eu/kanade/presentation/components/SettingsItems.kt @@ -22,7 +22,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import eu.kanade.domain.manga.model.TriStateFilter +import tachiyomi.domain.manga.model.TriStateFilter @Composable fun TriStateItem( diff --git a/app/src/main/java/eu/kanade/presentation/library/components/SyncFavoritesProgressDialog.kt b/app/src/main/java/eu/kanade/presentation/library/components/SyncFavoritesProgressDialog.kt index 57269d6b2..f9cb20695 100644 --- a/app/src/main/java/eu/kanade/presentation/library/components/SyncFavoritesProgressDialog.kt +++ b/app/src/main/java/eu/kanade/presentation/library/components/SyncFavoritesProgressDialog.kt @@ -12,10 +12,10 @@ import androidx.compose.runtime.produceState import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.window.DialogProperties -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import exh.favorites.FavoritesSyncStatus import kotlinx.coroutines.delay +import tachiyomi.domain.manga.model.Manga import kotlin.time.Duration.Companion.seconds data class SyncFavoritesProgressProperties( diff --git a/app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt b/app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt index 190346a08..9aa0d8eec 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt @@ -26,14 +26,16 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import eu.kanade.domain.manga.model.Manga -import eu.kanade.domain.manga.model.TriStateFilter +import eu.kanade.domain.manga.model.downloadedFilter +import eu.kanade.domain.manga.model.forceDownloaded import eu.kanade.presentation.components.RadioItem import eu.kanade.presentation.components.SortItem import eu.kanade.presentation.components.TabbedDialog import eu.kanade.presentation.components.TabbedDialogPaddings import eu.kanade.presentation.components.TriStateItem import eu.kanade.tachiyomi.R +import tachiyomi.domain.manga.model.Manga +import tachiyomi.domain.manga.model.TriStateFilter @Composable fun ChapterSettingsDialog( diff --git a/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt b/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt index f02c48b3b..56396c2c0 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt @@ -47,8 +47,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.util.fastAll import androidx.compose.ui.util.fastAny import androidx.compose.ui.util.fastMap -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.manga.model.Manga +import eu.kanade.domain.manga.model.chaptersFiltered import eu.kanade.presentation.components.ChapterDownloadAction import eu.kanade.presentation.components.ExtendedFloatingActionButton import eu.kanade.presentation.components.LazyColumn @@ -97,6 +96,8 @@ import exh.ui.metadata.adapters.MangaDexDescription import exh.ui.metadata.adapters.NHentaiDescription import exh.ui.metadata.adapters.PururinDescription import exh.ui.metadata.adapters.TsuminoDescription +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga import java.text.DateFormat import java.util.Date diff --git a/app/src/main/java/eu/kanade/presentation/manga/components/BaseMangaListItem.kt b/app/src/main/java/eu/kanade/presentation/manga/components/BaseMangaListItem.kt index 171ab90fa..b6d8eae23 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/components/BaseMangaListItem.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/components/BaseMangaListItem.kt @@ -14,9 +14,9 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.components.MangaCover import eu.kanade.presentation.util.padding +import tachiyomi.domain.manga.model.Manga @Composable fun BaseMangaListItem( diff --git a/app/src/main/java/eu/kanade/presentation/manga/components/MangaCoverDialog.kt b/app/src/main/java/eu/kanade/presentation/manga/components/MangaCoverDialog.kt index 9935fda13..6b3c8c4e2 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/components/MangaCoverDialog.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/components/MangaCoverDialog.kt @@ -42,13 +42,13 @@ import androidx.core.view.updatePadding import coil.imageLoader import coil.request.ImageRequest import coil.size.Size -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.components.DropdownMenu import eu.kanade.presentation.components.Scaffold import eu.kanade.presentation.manga.EditCoverAction import eu.kanade.presentation.util.clickableNoIndication import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.ui.reader.viewer.ReaderPageImageView +import tachiyomi.domain.manga.model.Manga @Composable fun MangaCoverDialog( diff --git a/app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt b/app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt index 292c16161..749af69ae 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt @@ -70,7 +70,6 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import coil.compose.AsyncImage import com.google.accompanist.flowlayout.FlowRow -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.components.MangaCover import eu.kanade.presentation.components.TextButton import eu.kanade.presentation.util.clickableNoIndication @@ -79,6 +78,7 @@ import eu.kanade.presentation.util.secondaryItemAlpha import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.util.system.copyToClipboard +import tachiyomi.domain.manga.model.Manga import kotlin.math.roundToInt private val whitespaceLineRegex = Regex("[\\r\\n]{2,}", setOf(RegexOption.MULTILINE)) 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 4f9911e50..ec75bc72a 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 @@ -72,7 +72,7 @@ import uy.kohesive.injekt.api.get import java.io.FileOutputStream import java.util.Date import kotlin.math.max -import eu.kanade.domain.manga.model.Manga as DomainManga +import tachiyomi.domain.manga.model.Manga as DomainManga class BackupManager( private val context: Context, diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt index d7d6ea463..b030786e0 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.data.backup.models -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.data.database.models.ChapterImpl import eu.kanade.tachiyomi.data.database.models.MangaImpl import eu.kanade.tachiyomi.data.database.models.TrackImpl @@ -10,6 +9,7 @@ import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import tachiyomi.data.listOfStringsAndAdapter import tachiyomi.domain.manga.model.CustomMangaInfo +import tachiyomi.domain.manga.model.Manga @Suppress("DEPRECATION") @Serializable diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt b/app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt index 6300f82b4..e0b696c88 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt @@ -3,7 +3,6 @@ package eu.kanade.tachiyomi.data.cache import android.content.Context import android.text.format.Formatter import com.jakewharton.disklrucache.DiskLruCache -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.ui.reader.setting.ReaderPreferences import eu.kanade.tachiyomi.util.storage.DiskUtil @@ -19,6 +18,7 @@ import kotlinx.serialization.json.Json import okhttp3.Response import okio.buffer import okio.sink +import tachiyomi.domain.chapter.model.Chapter import uy.kohesive.injekt.injectLazy import java.io.File import java.io.IOException diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/cache/CoverCache.kt b/app/src/main/java/eu/kanade/tachiyomi/data/cache/CoverCache.kt index 1195b7531..73d2e0833 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/cache/CoverCache.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/cache/CoverCache.kt @@ -1,8 +1,8 @@ package eu.kanade.tachiyomi.data.cache import android.content.Context -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.util.storage.DiskUtil +import tachiyomi.domain.manga.model.Manga import java.io.File import java.io.IOException import java.io.InputStream diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/cache/PagePreviewCache.kt b/app/src/main/java/eu/kanade/tachiyomi/data/cache/PagePreviewCache.kt index a5914fd82..bbb7c6ba1 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/cache/PagePreviewCache.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/cache/PagePreviewCache.kt @@ -3,7 +3,6 @@ package eu.kanade.tachiyomi.data.cache import android.content.Context import android.text.format.Formatter import com.jakewharton.disklrucache.DiskLruCache -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.source.PagePreviewPage import eu.kanade.tachiyomi.util.storage.DiskUtil import eu.kanade.tachiyomi.util.storage.saveTo @@ -13,6 +12,7 @@ import kotlinx.serialization.json.Json import okhttp3.Response import okio.buffer import okio.sink +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.injectLazy import java.io.File import java.io.IOException diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/coil/MangaCoverFetcher.kt b/app/src/main/java/eu/kanade/tachiyomi/data/coil/MangaCoverFetcher.kt index 1a81cf484..f5225bfc2 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/coil/MangaCoverFetcher.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/coil/MangaCoverFetcher.kt @@ -30,7 +30,7 @@ import okio.sink import tachiyomi.domain.manga.model.MangaCover import uy.kohesive.injekt.injectLazy import java.io.File -import eu.kanade.domain.manga.model.Manga as DomainManga +import tachiyomi.domain.manga.model.Manga as DomainManga /** * A [Fetcher] that fetches cover image for [Manga] object. diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/coil/MangaCoverKeyer.kt b/app/src/main/java/eu/kanade/tachiyomi/data/coil/MangaCoverKeyer.kt index 9fa7b95b2..068d88581 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/coil/MangaCoverKeyer.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/coil/MangaCoverKeyer.kt @@ -9,7 +9,7 @@ import eu.kanade.tachiyomi.data.database.models.toDomainManga import tachiyomi.domain.manga.model.MangaCover import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get -import eu.kanade.domain.manga.model.Manga as DomainManga +import tachiyomi.domain.manga.model.Manga as DomainManga class MangaKeyer : Keyer { override fun key(data: Manga, options: Options): String { diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/database/models/Chapter.kt b/app/src/main/java/eu/kanade/tachiyomi/data/database/models/Chapter.kt index 771ebb32a..8ca265d6b 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/database/models/Chapter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/database/models/Chapter.kt @@ -2,7 +2,7 @@ package eu.kanade.tachiyomi.data.database.models import eu.kanade.tachiyomi.source.model.SChapter import java.io.Serializable -import eu.kanade.domain.chapter.model.Chapter as DomainChapter +import tachiyomi.domain.chapter.model.Chapter as DomainChapter interface Chapter : SChapter, Serializable { diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt b/app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt index 85141ce44..cc36610d4 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt @@ -5,7 +5,7 @@ import eu.kanade.tachiyomi.ui.reader.setting.OrientationType import eu.kanade.tachiyomi.ui.reader.setting.ReadingModeType import exh.util.nullIfEmpty import tachiyomi.data.listOfStringsAndAdapter -import eu.kanade.domain.manga.model.Manga as DomainManga +import tachiyomi.domain.manga.model.Manga as DomainManga interface Manga : SManga { diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt index 18d4e52ea..06940ef2a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt @@ -4,9 +4,7 @@ import android.content.Context import androidx.core.net.toUri import com.hippo.unifile.UniFile import eu.kanade.core.util.mapNotNullKeys -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.download.service.DownloadPreferences -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.extension.ExtensionManager import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.SourceManager @@ -32,6 +30,8 @@ import kotlinx.coroutines.flow.shareIn import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.withTimeout import logcat.LogPriority +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.util.concurrent.ConcurrentHashMap diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt index 8f3ea596c..58472718b 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt @@ -3,9 +3,7 @@ package eu.kanade.tachiyomi.data.download import android.content.Context import com.hippo.unifile.UniFile import eu.kanade.domain.category.interactor.GetCategories -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.download.service.DownloadPreferences -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.download.model.Download import eu.kanade.tachiyomi.data.download.model.DownloadQueue @@ -18,6 +16,8 @@ import eu.kanade.tachiyomi.util.system.logcat import exh.log.xLogE import kotlinx.coroutines.runBlocking import logcat.LogPriority +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadPendingDeleter.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadPendingDeleter.kt index f2aefcdf5..f7a45e972 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadPendingDeleter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadPendingDeleter.kt @@ -2,12 +2,12 @@ package eu.kanade.tachiyomi.data.download import android.content.Context import androidx.core.content.edit -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.manga.model.Manga import kotlinx.serialization.Serializable import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadProvider.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadProvider.kt index c294c25b8..cef976015 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadProvider.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadProvider.kt @@ -3,9 +3,7 @@ package eu.kanade.tachiyomi.data.download import android.content.Context import androidx.core.net.toUri import com.hippo.unifile.UniFile -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.download.service.DownloadPreferences -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.util.storage.DiskUtil @@ -14,6 +12,8 @@ import kotlinx.coroutines.MainScope import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import logcat.LogPriority +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadStore.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadStore.kt index dd3e87476..08962d280 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadStore.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadStore.kt @@ -4,7 +4,6 @@ import android.content.Context import androidx.core.content.edit import eu.kanade.domain.chapter.interactor.GetChapter import eu.kanade.domain.manga.interactor.GetManga -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.data.download.model.Download import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.source.online.HttpSource @@ -13,6 +12,7 @@ import kotlinx.serialization.Serializable import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt index 35c765241..db22de5f3 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt @@ -3,11 +3,10 @@ package eu.kanade.tachiyomi.data.download import android.content.Context import com.hippo.unifile.UniFile import com.jakewharton.rxrelay.PublishRelay -import eu.kanade.domain.chapter.model.Chapter +import eu.kanade.domain.chapter.model.toSChapter import eu.kanade.domain.download.service.DownloadPreferences import eu.kanade.domain.manga.model.COMIC_INFO_FILE import eu.kanade.domain.manga.model.ComicInfo -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.model.getComicInfo import eu.kanade.domain.source.service.SourcePreferences import eu.kanade.tachiyomi.R @@ -41,6 +40,8 @@ import rx.Observable import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers import rx.subscriptions.CompositeSubscription +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.io.BufferedOutputStream diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/model/Download.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/model/Download.kt index 045ab8b54..38ddacddb 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/model/Download.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/model/Download.kt @@ -1,13 +1,13 @@ package eu.kanade.tachiyomi.data.download.model import eu.kanade.domain.chapter.interactor.GetChapter -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.manga.interactor.GetManga -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.online.HttpSource import rx.subjects.PublishSubject +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/model/DownloadQueue.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/model/DownloadQueue.kt index 678060745..7b3867a7b 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/model/DownloadQueue.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/model/DownloadQueue.kt @@ -1,8 +1,6 @@ package eu.kanade.tachiyomi.data.download.model import eu.kanade.core.util.asFlow -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.data.download.DownloadStore import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.util.lang.launchNonCancellable @@ -17,6 +15,8 @@ import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.coroutines.flow.shareIn import rx.Observable import rx.subjects.PublishSubject +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga import java.util.concurrent.CopyOnWriteArrayList class DownloadQueue( diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt index e359be465..1c4c95149 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt @@ -13,8 +13,6 @@ import androidx.core.app.NotificationManagerCompat import coil.imageLoader import coil.request.ImageRequest import coil.transform.CircleCropTransformation -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.core.security.SecurityPreferences import eu.kanade.tachiyomi.data.download.Downloader @@ -27,6 +25,8 @@ import eu.kanade.tachiyomi.util.lang.launchUI import eu.kanade.tachiyomi.util.system.notification import eu.kanade.tachiyomi.util.system.notificationBuilder import eu.kanade.tachiyomi.util.system.notificationManager +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.injectLazy import java.text.DecimalFormat import java.text.DecimalFormatSymbols diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt index f2e43eeed..83132d22e 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt @@ -12,7 +12,6 @@ import eu.kanade.domain.category.interactor.GetCategories import eu.kanade.domain.chapter.interactor.GetChapterByMangaId import eu.kanade.domain.chapter.interactor.SyncChaptersWithSource import eu.kanade.domain.chapter.interactor.SyncChaptersWithTrackServiceTwoWay -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.download.service.DownloadPreferences import eu.kanade.domain.library.model.GroupLibraryMode import eu.kanade.domain.library.model.LibraryGroup @@ -25,8 +24,8 @@ import eu.kanade.domain.manga.interactor.GetMergedMangaForDownloading import eu.kanade.domain.manga.interactor.InsertFlatMetadata import eu.kanade.domain.manga.interactor.NetworkToLocalManga import eu.kanade.domain.manga.interactor.UpdateManga -import eu.kanade.domain.manga.model.Manga -import eu.kanade.domain.manga.model.toMangaUpdate +import eu.kanade.domain.manga.model.copyFrom +import eu.kanade.domain.manga.model.toSManga import eu.kanade.domain.track.interactor.GetTracks import eu.kanade.domain.track.interactor.InsertTrack import eu.kanade.domain.track.model.toDbTrack @@ -83,6 +82,9 @@ import kotlinx.coroutines.sync.Semaphore import kotlinx.coroutines.sync.withPermit import logcat.LogPriority import tachiyomi.domain.category.model.Category +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga +import tachiyomi.domain.manga.model.toMangaUpdate import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.io.File diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/notification/NotificationReceiver.kt b/app/src/main/java/eu/kanade/tachiyomi/data/notification/NotificationReceiver.kt index 70873a0f1..eefabb2d4 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/notification/NotificationReceiver.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/notification/NotificationReceiver.kt @@ -10,11 +10,8 @@ import androidx.core.content.ContextCompat import androidx.core.net.toUri import eu.kanade.domain.chapter.interactor.GetChapter import eu.kanade.domain.chapter.interactor.UpdateChapter -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.chapter.model.toChapterUpdate import eu.kanade.domain.download.service.DownloadPreferences import eu.kanade.domain.manga.interactor.GetManga -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.backup.BackupRestoreService import eu.kanade.tachiyomi.data.download.DownloadManager @@ -33,6 +30,9 @@ import eu.kanade.tachiyomi.util.system.notificationManager import eu.kanade.tachiyomi.util.system.toShareIntent import eu.kanade.tachiyomi.util.system.toast import kotlinx.coroutines.runBlocking +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.chapter.model.toChapterUpdate +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/EnhancedTrackService.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/EnhancedTrackService.kt index 1331d45f5..f49fcc530 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/EnhancedTrackService.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/EnhancedTrackService.kt @@ -1,9 +1,9 @@ package eu.kanade.tachiyomi.data.track -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.track.model.Track import eu.kanade.tachiyomi.data.track.model.TrackSearch import eu.kanade.tachiyomi.source.Source +import tachiyomi.domain.manga.model.Manga /** * An Enhanced Track Service will never prompt the user to match a manga with the remote. diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/Kavita.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/Kavita.kt index c381ad2c4..1e029c2b1 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/Kavita.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/Kavita.kt @@ -4,13 +4,13 @@ import android.content.Context import android.content.SharedPreferences import android.graphics.Color import androidx.annotation.StringRes -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.Track import eu.kanade.tachiyomi.data.track.EnhancedTrackService import eu.kanade.tachiyomi.data.track.TrackService import eu.kanade.tachiyomi.data.track.model.TrackSearch import eu.kanade.tachiyomi.source.Source +import tachiyomi.domain.manga.model.Manga import java.security.MessageDigest import eu.kanade.domain.track.model.Track as DomainTrack diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/komga/Komga.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/komga/Komga.kt index c2a30d2ee..c9ca49065 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/komga/Komga.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/komga/Komga.kt @@ -3,7 +3,6 @@ package eu.kanade.tachiyomi.data.track.komga import android.content.Context import android.graphics.Color import androidx.annotation.StringRes -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.Track import eu.kanade.tachiyomi.data.track.EnhancedTrackService @@ -12,6 +11,7 @@ import eu.kanade.tachiyomi.data.track.model.TrackSearch import eu.kanade.tachiyomi.source.Source import okhttp3.Dns import okhttp3.OkHttpClient +import tachiyomi.domain.manga.model.Manga import eu.kanade.domain.track.model.Track as DomainTrack class Komga(private val context: Context, id: Long) : TrackService(id), EnhancedTrackService { diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/mdlist/MdList.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/mdlist/MdList.kt index 199984fba..3578d1c7e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/mdlist/MdList.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/mdlist/MdList.kt @@ -3,7 +3,6 @@ package eu.kanade.tachiyomi.data.track.mdlist import android.content.Context import android.graphics.Color import androidx.annotation.StringRes -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.Track import eu.kanade.tachiyomi.data.track.TrackManager @@ -17,6 +16,7 @@ import eu.kanade.tachiyomi.util.lang.withIOContext import exh.md.network.MangaDexAuthInterceptor import exh.md.utils.FollowStatus import exh.md.utils.MdUtil +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/suwayomi/Suwayomi.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/suwayomi/Suwayomi.kt index 00606b658..bbc9407f4 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/suwayomi/Suwayomi.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/suwayomi/Suwayomi.kt @@ -9,8 +9,8 @@ import eu.kanade.tachiyomi.data.track.EnhancedTrackService import eu.kanade.tachiyomi.data.track.TrackService import eu.kanade.tachiyomi.data.track.model.TrackSearch import eu.kanade.tachiyomi.source.Source -import eu.kanade.domain.manga.model.Manga as DomainManga import eu.kanade.domain.track.model.Track as DomainTrack +import tachiyomi.domain.manga.model.Manga as DomainManga class Suwayomi(private val context: Context, id: Long) : TrackService(id), EnhancedTrackService { val api by lazy { TachideskApi() } 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 03c7be276..7baee4338 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 @@ -2,13 +2,12 @@ package eu.kanade.tachiyomi.source.online.all import eu.kanade.domain.category.interactor.GetCategories import eu.kanade.domain.chapter.interactor.SyncChaptersWithSource -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.download.service.DownloadPreferences import eu.kanade.domain.manga.interactor.GetManga import eu.kanade.domain.manga.interactor.GetMergedReferencesById import eu.kanade.domain.manga.interactor.NetworkToLocalManga import eu.kanade.domain.manga.interactor.UpdateManga -import eu.kanade.domain.manga.model.Manga +import eu.kanade.domain.manga.model.toSManga import eu.kanade.tachiyomi.data.download.DownloadManager import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.SourceManager @@ -29,6 +28,8 @@ import kotlinx.coroutines.supervisorScope import kotlinx.coroutines.sync.Semaphore import kotlinx.coroutines.sync.withPermit import okhttp3.Response +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.injectLazy class MergedSource : HttpSource() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedScreenModel.kt index 46df0a614..ae4299470 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedScreenModel.kt @@ -9,8 +9,9 @@ import cafe.adriel.voyager.core.model.coroutineScope import eu.kanade.domain.manga.interactor.GetManga import eu.kanade.domain.manga.interactor.NetworkToLocalManga import eu.kanade.domain.manga.interactor.UpdateManga +import eu.kanade.domain.manga.model.copyFrom import eu.kanade.domain.manga.model.toDomainManga -import eu.kanade.domain.manga.model.toMangaUpdate +import eu.kanade.domain.manga.model.toSManga import eu.kanade.domain.source.interactor.CountFeedSavedSearchGlobal import eu.kanade.domain.source.interactor.DeleteFeedSavedSearchById import eu.kanade.domain.source.interactor.GetFeedSavedSearchGlobal @@ -47,13 +48,14 @@ import kotlinx.coroutines.withContext import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import logcat.LogPriority +import tachiyomi.domain.manga.model.toMangaUpdate import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import xyz.nulldev.ts.api.http.serializer.FilterSerializer import java.util.concurrent.Executors import kotlin.time.Duration.Companion.milliseconds import kotlin.time.Duration.Companion.seconds -import eu.kanade.domain.manga.model.Manga as DomainManga +import tachiyomi.domain.manga.model.Manga as DomainManga /** * Presenter of [feedTab] diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigratingManga.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigratingManga.kt index accd04b2b..434ca7c27 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigratingManga.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigratingManga.kt @@ -1,12 +1,12 @@ package eu.kanade.tachiyomi.ui.browse.migration.advanced.process import android.content.Context -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.flow.MutableStateFlow +import tachiyomi.domain.manga.model.Manga import java.text.DecimalFormat import kotlin.coroutines.CoroutineContext 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 dc60f6db2..4fcb7da7d 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 @@ -10,16 +10,14 @@ import eu.kanade.domain.category.interactor.SetMangaCategories import eu.kanade.domain.chapter.interactor.GetChapterByMangaId import eu.kanade.domain.chapter.interactor.SyncChaptersWithSource import eu.kanade.domain.chapter.interactor.UpdateChapter -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.chapter.model.ChapterUpdate import eu.kanade.domain.history.interactor.GetHistoryByMangaId import eu.kanade.domain.history.interactor.UpsertHistory import eu.kanade.domain.manga.interactor.GetManga import eu.kanade.domain.manga.interactor.GetMergedReferencesById import eu.kanade.domain.manga.interactor.NetworkToLocalManga import eu.kanade.domain.manga.interactor.UpdateManga -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.model.hasCustomCover +import eu.kanade.domain.manga.model.toSManga import eu.kanade.domain.track.interactor.DeleteTrack import eu.kanade.domain.track.interactor.GetTracks import eu.kanade.domain.track.interactor.InsertTrack @@ -49,7 +47,10 @@ import kotlinx.coroutines.isActive import kotlinx.coroutines.sync.Semaphore import kotlinx.coroutines.sync.withPermit import logcat.LogPriority +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.chapter.model.ChapterUpdate import tachiyomi.domain.history.model.HistoryUpdate +import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.manga.model.MangaUpdate import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaScreenModel.kt index 116645a42..7f473c1d0 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaScreenModel.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.domain.manga.interactor.GetFavorites -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.util.system.logcat @@ -17,6 +16,7 @@ import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import logcat.LogPriority +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreenModel.kt index 7da5bfa7b..aeac17f78 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreenModel.kt @@ -4,7 +4,6 @@ import androidx.compose.runtime.Immutable import cafe.adriel.voyager.core.model.coroutineScope import eu.kanade.domain.base.BasePreferences import eu.kanade.domain.manga.interactor.GetManga -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.source.service.SourcePreferences import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.source.SourceManager @@ -12,6 +11,7 @@ import eu.kanade.tachiyomi.ui.browse.source.globalsearch.SearchItemResult import eu.kanade.tachiyomi.ui.browse.source.globalsearch.SearchScreenModel import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt index bc26cbbdd..ed0170ab1 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt @@ -15,7 +15,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.manga.model.Manga import eu.kanade.presentation.browse.BrowseSourceContent import eu.kanade.presentation.browse.components.BrowseSourceFloatingActionButton import eu.kanade.presentation.components.Scaffold @@ -27,6 +26,7 @@ import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreenModel import eu.kanade.tachiyomi.ui.manga.MangaScreen import eu.kanade.tachiyomi.ui.webview.WebViewScreen import eu.kanade.tachiyomi.util.Constants +import tachiyomi.domain.manga.model.Manga data class SourceSearchScreen( private val oldManga: Manga, 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 5c7df39ab..292d6a810 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 @@ -30,9 +30,9 @@ import eu.kanade.domain.manga.interactor.GetFlatMetadataById import eu.kanade.domain.manga.interactor.GetManga import eu.kanade.domain.manga.interactor.NetworkToLocalManga import eu.kanade.domain.manga.interactor.UpdateManga -import eu.kanade.domain.manga.model.Manga +import eu.kanade.domain.manga.model.copyFrom import eu.kanade.domain.manga.model.toDomainManga -import eu.kanade.domain.manga.model.toMangaUpdate +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 @@ -98,6 +98,8 @@ import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonArray import logcat.LogPriority import tachiyomi.domain.category.model.Category +import tachiyomi.domain.manga.model.Manga +import tachiyomi.domain.manga.model.toMangaUpdate import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import xyz.nulldev.ts.api.http.serializer.FilterSerializer 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 51ea45997..659dd4a69 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 @@ -13,7 +13,6 @@ import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.Navigator import cafe.adriel.voyager.navigator.currentOrThrow -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.source.interactor.GetRemoteManga import eu.kanade.presentation.browse.SourceFeedScreen import eu.kanade.presentation.browse.components.FailedToLoadSavedSearchDialog @@ -32,6 +31,7 @@ import exh.util.nullIfBlank import kotlinx.coroutines.CoroutineScope import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json +import tachiyomi.domain.manga.model.Manga import xyz.nulldev.ts.api.http.serializer.FilterSerializer class SourceFeedScreen(val sourceId: Long) : Screen { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreenModel.kt index 50efa981f..7bec15d90 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreenModel.kt @@ -10,8 +10,9 @@ import eu.davidea.flexibleadapter.items.IFlexible import eu.kanade.domain.manga.interactor.GetManga import eu.kanade.domain.manga.interactor.NetworkToLocalManga import eu.kanade.domain.manga.interactor.UpdateManga +import eu.kanade.domain.manga.model.copyFrom import eu.kanade.domain.manga.model.toDomainManga -import eu.kanade.domain.manga.model.toMangaUpdate +import eu.kanade.domain.manga.model.toSManga import eu.kanade.domain.source.interactor.CountFeedSavedSearchBySourceId import eu.kanade.domain.source.interactor.DeleteFeedSavedSearchById import eu.kanade.domain.source.interactor.GetExhSavedSearch @@ -42,11 +43,12 @@ import kotlinx.coroutines.withContext import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import logcat.LogPriority +import tachiyomi.domain.manga.model.toMangaUpdate import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import xyz.nulldev.ts.api.http.serializer.FilterSerializer import java.util.concurrent.Executors -import eu.kanade.domain.manga.model.Manga as DomainManga +import tachiyomi.domain.manga.model.Manga as DomainManga open class SourceFeedScreenModel( val sourceId: Long, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/SearchScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/SearchScreenModel.kt index a38e42b67..4edf68de7 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/SearchScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/SearchScreenModel.kt @@ -8,9 +8,9 @@ import cafe.adriel.voyager.core.model.coroutineScope import eu.kanade.domain.manga.interactor.GetManga import eu.kanade.domain.manga.interactor.NetworkToLocalManga import eu.kanade.domain.manga.interactor.UpdateManga -import eu.kanade.domain.manga.model.Manga +import eu.kanade.domain.manga.model.copyFrom import eu.kanade.domain.manga.model.toDomainManga -import eu.kanade.domain.manga.model.toMangaUpdate +import eu.kanade.domain.manga.model.toSManga import eu.kanade.domain.source.service.SourcePreferences import eu.kanade.tachiyomi.extension.ExtensionManager import eu.kanade.tachiyomi.source.CatalogueSource @@ -25,6 +25,8 @@ import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import logcat.LogPriority +import tachiyomi.domain.manga.model.Manga +import tachiyomi.domain.manga.model.toMangaUpdate import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.util.concurrent.Executors 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 94d9dd8df..f2ddb2610 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.chapter.model.Chapter import eu.kanade.domain.history.interactor.GetHistory import eu.kanade.domain.history.interactor.GetNextChapters import eu.kanade.domain.history.interactor.RemoveHistory @@ -25,6 +24,7 @@ import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import logcat.LogPriority +import tachiyomi.domain.chapter.model.Chapter import tachiyomi.domain.history.model.HistoryWithRelations import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt index 112f175d8..73e4853ce 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt @@ -20,7 +20,6 @@ import cafe.adriel.voyager.navigator.currentOrThrow import cafe.adriel.voyager.navigator.tab.LocalTabNavigator import cafe.adriel.voyager.navigator.tab.TabOptions import eu.kanade.core.prefs.asState -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.ui.UiPreferences import eu.kanade.presentation.history.HistoryScreen import eu.kanade.presentation.history.components.HistoryDeleteAllDialog @@ -33,6 +32,7 @@ import eu.kanade.tachiyomi.ui.reader.ReaderActivity import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.receiveAsFlow +import tachiyomi.domain.chapter.model.Chapter import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get 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 e232a9b52..f4ab1bf7e 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 @@ -24,7 +24,6 @@ import eu.kanade.domain.category.interactor.GetCategories import eu.kanade.domain.category.interactor.SetMangaCategories import eu.kanade.domain.chapter.interactor.GetChapterByMangaId import eu.kanade.domain.chapter.interactor.SetReadStatus -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.history.interactor.GetNextChapters import eu.kanade.domain.library.model.LibraryGroup import eu.kanade.domain.library.model.LibraryManga @@ -35,7 +34,6 @@ import eu.kanade.domain.manga.interactor.GetMergedMangaById import eu.kanade.domain.manga.interactor.GetSearchTags import eu.kanade.domain.manga.interactor.GetSearchTitles import eu.kanade.domain.manga.interactor.UpdateManga -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.model.isLocal import eu.kanade.domain.source.service.SourcePreferences import eu.kanade.domain.track.interactor.GetTracks @@ -95,11 +93,13 @@ import kotlinx.coroutines.flow.toList import kotlinx.coroutines.flow.update import kotlinx.coroutines.runBlocking import tachiyomi.domain.category.model.Category +import tachiyomi.domain.chapter.model.Chapter import tachiyomi.domain.library.model.LibraryDisplayMode import tachiyomi.domain.library.model.LibrarySort import tachiyomi.domain.library.model.sort import tachiyomi.domain.manga.interactor.SetCustomMangaInfo import tachiyomi.domain.manga.model.CustomMangaInfo +import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.manga.model.MangaUpdate import 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 c9ff4e8b2..e0788290a 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 @@ -31,7 +31,6 @@ import cafe.adriel.voyager.navigator.tab.TabOptions import eu.kanade.domain.UnsortedPreferences import eu.kanade.domain.library.model.LibraryGroup import eu.kanade.domain.library.model.LibraryManga -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.model.isLocal import eu.kanade.presentation.components.ChangeCategoryDialog import eu.kanade.presentation.components.DeleteLibraryMangaDialog @@ -66,6 +65,7 @@ import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.coroutines.launch import tachiyomi.domain.category.model.Category import tachiyomi.domain.library.model.display +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/EditMangaDialog.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/EditMangaDialog.kt index eab65e611..b7eecad6b 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/EditMangaDialog.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/EditMangaDialog.kt @@ -26,7 +26,6 @@ import coil.transform.RoundedCornersTransformation import com.google.android.material.chip.Chip import com.google.android.material.chip.ChipGroup import com.google.android.material.dialog.MaterialAlertDialogBuilder -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.model.isLocal import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.databinding.EditMangaDialogBinding @@ -38,6 +37,7 @@ import eu.kanade.tachiyomi.widget.materialdialogs.setTextInput import exh.util.dropBlank import exh.util.trimOrNull import kotlinx.coroutines.CoroutineScope +import tachiyomi.domain.manga.model.Manga @Composable fun EditMangaDialog( @@ -182,7 +182,7 @@ private fun onViewCreated(manga: Manga, context: Context, binding: EditMangaDial binding.mangaDescription.hint = context.getString( R.string.description_hint, - manga.ogDescription.replace("\n", " ").chop(20), + manga.ogDescription!!.replace("\n", " ").chop(20), ) } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaCoverScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaCoverScreenModel.kt index f14d72116..c50ba7d38 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaCoverScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaCoverScreenModel.kt @@ -11,7 +11,6 @@ import coil.request.ImageRequest import coil.size.Size import eu.kanade.domain.manga.interactor.GetManga import eu.kanade.domain.manga.interactor.UpdateManga -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.cache.CoverCache import eu.kanade.tachiyomi.data.saver.Image @@ -26,6 +25,7 @@ import eu.kanade.tachiyomi.util.system.toShareIntent import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import logcat.LogPriority +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt index ad00f3b80..1f429b0e3 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt @@ -26,9 +26,8 @@ import cafe.adriel.voyager.navigator.Navigator import cafe.adriel.voyager.navigator.currentOrThrow import com.google.android.material.dialog.MaterialAlertDialogBuilder import eu.kanade.domain.UnsortedPreferences -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.model.hasCustomCover +import eu.kanade.domain.manga.model.toSManga import eu.kanade.presentation.components.ChangeCategoryDialog import eu.kanade.presentation.components.DuplicateMangaDialog import eu.kanade.presentation.components.LoadingScreen @@ -79,6 +78,8 @@ import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.take import kotlinx.coroutines.launch import logcat.LogPriority +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga 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 e5bf28c0e..6ff335fce 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 @@ -20,8 +20,6 @@ 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.UpdateChapter -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.chapter.model.ChapterUpdate import eu.kanade.domain.download.service.DownloadPreferences import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.manga.interactor.DeleteByMergeId @@ -40,11 +38,12 @@ import eu.kanade.domain.manga.interactor.SetMangaChapterFlags import eu.kanade.domain.manga.interactor.SetMangaFilteredScanlators import eu.kanade.domain.manga.interactor.UpdateManga import eu.kanade.domain.manga.interactor.UpdateMergedSettings -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.model.MergeMangaSettingsUpdate import eu.kanade.domain.manga.model.PagePreview -import eu.kanade.domain.manga.model.TriStateFilter +import eu.kanade.domain.manga.model.copyFrom +import eu.kanade.domain.manga.model.downloadedFilter import eu.kanade.domain.manga.model.isLocal +import eu.kanade.domain.manga.model.toSManga import eu.kanade.domain.source.service.SourcePreferences import eu.kanade.domain.track.interactor.GetTracks import eu.kanade.domain.track.interactor.InsertTrack @@ -110,9 +109,13 @@ import kotlinx.coroutines.isActive import kotlinx.coroutines.launch import logcat.LogPriority import tachiyomi.domain.category.model.Category +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.chapter.model.ChapterUpdate import tachiyomi.domain.manga.interactor.SetCustomMangaInfo import tachiyomi.domain.manga.model.CustomMangaInfo +import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.manga.model.MangaUpdate +import tachiyomi.domain.manga.model.TriStateFilter import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy @@ -1615,7 +1618,7 @@ sealed class MangaScreenState { } // SY --> .filter { chapter -> - manga.filteredScanlators.isNullOrEmpty() || MdUtil.getScanlators(chapter.chapter.scanlator).any { group -> manga.filteredScanlators.contains(group) } + manga.filteredScanlators.isNullOrEmpty() || MdUtil.getScanlators(chapter.chapter.scanlator).any { group -> manga.filteredScanlators!!.contains(group) } } // SY <-- .sortedWith { (chapter1), (chapter2) -> getChapterSort(manga).invoke(chapter1, chapter2) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedMangaItem.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedMangaItem.kt index f1d15320a..5001d7d10 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedMangaItem.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedMangaItem.kt @@ -5,10 +5,10 @@ import androidx.recyclerview.widget.RecyclerView import eu.davidea.flexibleadapter.FlexibleAdapter import eu.davidea.flexibleadapter.items.AbstractFlexibleItem import eu.davidea.flexibleadapter.items.IFlexible -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.databinding.EditMergedSettingsItemBinding import exh.merged.sql.models.MergedMangaReference +import tachiyomi.domain.manga.model.Manga class EditMergedMangaItem(val mergedManga: Manga?, val mergedMangaReference: MergedMangaReference) : AbstractFlexibleItem() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsDialog.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsDialog.kt index 5a8c0361d..38f203dc7 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsDialog.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsDialog.kt @@ -23,13 +23,13 @@ import androidx.compose.ui.window.DialogProperties import androidx.recyclerview.widget.ConcatAdapter import androidx.recyclerview.widget.LinearLayoutManager import com.google.android.material.dialog.MaterialAlertDialogBuilder -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.databinding.EditMergedSettingsDialogBinding import eu.kanade.tachiyomi.ui.manga.MergedMangaData import eu.kanade.tachiyomi.util.system.toast import exh.merged.sql.models.MergedMangaReference import exh.source.MERGED_SOURCE_ID +import tachiyomi.domain.manga.model.Manga @Stable class EditMergedSettingsState( diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt index d178967c1..607f58ea3 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt @@ -54,7 +54,8 @@ import com.google.android.material.slider.Slider import com.google.android.material.transition.platform.MaterialContainerTransform import dev.chrisbanes.insetter.applyInsetter import eu.kanade.domain.base.BasePreferences -import eu.kanade.domain.manga.model.Manga +import eu.kanade.domain.manga.model.orientationType +import eu.kanade.domain.manga.model.readingModeType import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.notification.NotificationReceiver import eu.kanade.tachiyomi.data.notification.Notifications @@ -126,6 +127,7 @@ import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.flow.sample import kotlinx.coroutines.launch import logcat.LogPriority +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.injectLazy import kotlin.math.abs import kotlin.math.max 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 b810dfb9d..b9b64643e 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 @@ -11,8 +11,6 @@ import eu.kanade.domain.base.BasePreferences import eu.kanade.domain.chapter.interactor.GetChapterByMangaId import eu.kanade.domain.chapter.interactor.GetMergedChapterByMangaId import eu.kanade.domain.chapter.interactor.UpdateChapter -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.chapter.model.ChapterUpdate import eu.kanade.domain.chapter.model.toDbChapter import eu.kanade.domain.download.service.DownloadPreferences import eu.kanade.domain.history.interactor.GetNextChapters @@ -22,8 +20,9 @@ import eu.kanade.domain.manga.interactor.GetManga 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.Manga import eu.kanade.domain.manga.model.isLocal +import eu.kanade.domain.manga.model.orientationType +import eu.kanade.domain.manga.model.readingModeType import eu.kanade.domain.track.interactor.GetTracks import eu.kanade.domain.track.interactor.InsertTrack import eu.kanade.domain.track.model.toDbTrack @@ -96,7 +95,10 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import logcat.LogPriority import tachiyomi.decoder.ImageDecoder +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.chapter.model.ChapterUpdate import tachiyomi.domain.history.model.HistoryUpdate +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.text.DecimalFormat @@ -197,7 +199,7 @@ class ReaderViewModel( (manga.bookmarkedFilterRaw == Manga.CHAPTER_SHOW_BOOKMARKED && !it.bookmark) || (manga.bookmarkedFilterRaw == Manga.CHAPTER_SHOW_NOT_BOOKMARKED && it.bookmark) || // SY --> - (manga.filteredScanlators != null && MdUtil.getScanlators(it.scanlator).none { group -> manga.filteredScanlators.contains(group) }) + (manga.filteredScanlators != null && MdUtil.getScanlators(it.scanlator).none { group -> manga.filteredScanlators!!.contains(group) }) // SY <-- } else -> false diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/chapter/ReaderChapterAdapter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/chapter/ReaderChapterAdapter.kt index 36bc0a8b4..95ab11533 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/chapter/ReaderChapterAdapter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/chapter/ReaderChapterAdapter.kt @@ -1,7 +1,7 @@ package eu.kanade.tachiyomi.ui.reader.chapter import eu.davidea.flexibleadapter.FlexibleAdapter -import eu.kanade.domain.chapter.model.Chapter +import tachiyomi.domain.chapter.model.Chapter class ReaderChapterAdapter( dialog: OnBookmarkClickListener, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/chapter/ReaderChapterDialog.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/chapter/ReaderChapterDialog.kt index 5fb0b3ce1..1f25b72ea 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/chapter/ReaderChapterDialog.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/chapter/ReaderChapterDialog.kt @@ -5,7 +5,6 @@ import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager import com.google.android.material.dialog.MaterialAlertDialogBuilder import eu.davidea.flexibleadapter.FlexibleAdapter -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.databinding.ReaderChaptersDialogBinding import eu.kanade.tachiyomi.ui.reader.ReaderActivity @@ -13,6 +12,7 @@ import eu.kanade.tachiyomi.ui.reader.ReaderViewModel import eu.kanade.tachiyomi.util.chapter.getChapterSort import eu.kanade.tachiyomi.util.system.dpToPx import kotlinx.coroutines.launch +import tachiyomi.domain.chapter.model.Chapter class ReaderChapterDialog(private val activity: ReaderActivity) : ReaderChapterAdapter.OnBookmarkClickListener { private val binding = ReaderChaptersDialogBinding.inflate(activity.layoutInflater) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/chapter/ReaderChapterItem.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/chapter/ReaderChapterItem.kt index 25d0acfd9..d12d268fa 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/chapter/ReaderChapterItem.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/chapter/ReaderChapterItem.kt @@ -9,17 +9,16 @@ import eu.davidea.flexibleadapter.FlexibleAdapter import eu.davidea.flexibleadapter.items.AbstractFlexibleItem import eu.davidea.flexibleadapter.items.IFlexible import eu.davidea.viewholders.FlexibleViewHolder -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.databinding.ReaderChapterItemBinding import eu.kanade.tachiyomi.util.system.getResourceColor import eu.kanade.tachiyomi.util.view.setVectorCompat import exh.source.isEhBasedManga +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga import java.text.DateFormat import java.text.DecimalFormat import java.util.Date -import eu.kanade.domain.manga.model.Manga.Companion as DomainManga class ReaderChapterItem(val chapter: Chapter, val manga: Manga, val isCurrent: Boolean, context: Context, val dateFormat: DateFormat, val decimalFormat: DecimalFormat) : AbstractFlexibleItem() { @@ -68,7 +67,7 @@ class ReaderChapterItem(val chapter: Chapter, val manga: Manga, val isCurrent: B val chapter = item.chapter binding.chapterTitle.text = when (manga.displayMode) { - DomainManga.CHAPTER_DISPLAY_NUMBER -> { + Manga.CHAPTER_DISPLAY_NUMBER -> { val number = item.decimalFormat.format(chapter.chapterNumber.toDouble()) itemView.context.getString(R.string.display_mode_chapter, number) } @@ -92,7 +91,7 @@ class ReaderChapterItem(val chapter: Chapter, val manga: Manga, val isCurrent: B descriptions.add(item.dateFormat.format(Date(chapter.dateUpload))) } if (!chapter.scanlator.isNullOrBlank() && !manga.isEhBasedManga()) { - descriptions.add(chapter.scanlator) + descriptions.add(chapter.scanlator!!) } if (descriptions.isNotEmpty()) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt index e539dc68a..d7a9fc11a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt @@ -2,7 +2,6 @@ package eu.kanade.tachiyomi.ui.reader.loader import android.content.Context import com.github.junrar.exception.UnsupportedRarV5Exception -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.download.DownloadManager import eu.kanade.tachiyomi.data.download.DownloadProvider @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.util.lang.withIOContext import eu.kanade.tachiyomi.util.system.logcat import exh.debug.DebugFunctions.readerPrefs import exh.merged.sql.models.MergedMangaReference +import tachiyomi.domain.manga.model.Manga /** * Loader used to retrieve the [PageLoader] for a given chapter. diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/DownloadPageLoader.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/DownloadPageLoader.kt index c23d447e5..cc836d1f5 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/DownloadPageLoader.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/DownloadPageLoader.kt @@ -3,7 +3,6 @@ package eu.kanade.tachiyomi.ui.reader.loader import android.app.Application import android.net.Uri import com.hippo.unifile.UniFile -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.data.database.models.toDomainChapter import eu.kanade.tachiyomi.data.download.DownloadManager import eu.kanade.tachiyomi.data.download.DownloadProvider @@ -12,6 +11,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.ui.reader.model.ReaderChapter import eu.kanade.tachiyomi.ui.reader.model.ReaderPage import rx.Observable +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.injectLazy import java.io.File diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderReadingModeSettings.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderReadingModeSettings.kt index 709135ec5..0afec28c6 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderReadingModeSettings.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderReadingModeSettings.kt @@ -6,6 +6,8 @@ import android.view.LayoutInflater import androidx.core.view.isVisible import androidx.core.widget.NestedScrollView import androidx.lifecycle.lifecycleScope +import eu.kanade.domain.manga.model.orientationType +import eu.kanade.domain.manga.model.readingModeType import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.preference.PreferenceValues import eu.kanade.tachiyomi.databinding.ReaderReadingModeSettingsBinding diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/MissingChapters.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/MissingChapters.kt index 6dd9d4c39..d39a63a80 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/MissingChapters.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/MissingChapters.kt @@ -1,8 +1,8 @@ package eu.kanade.tachiyomi.ui.reader.viewer -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.tachiyomi.data.database.models.toDomainChapter import eu.kanade.tachiyomi.ui.reader.model.ReaderChapter +import tachiyomi.domain.chapter.model.Chapter import kotlin.math.floor private val pattern = Regex("""\d+""") diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderTransitionView.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderTransitionView.kt index cfef79b42..02d8ea359 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderTransitionView.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderTransitionView.kt @@ -11,13 +11,13 @@ import androidx.core.text.bold import androidx.core.text.buildSpannedString import androidx.core.text.inSpans import androidx.core.view.isVisible -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.download.DownloadManager import eu.kanade.tachiyomi.databinding.ReaderTransitionViewBinding import eu.kanade.tachiyomi.ui.reader.loader.DownloadPageLoader import eu.kanade.tachiyomi.ui.reader.model.ChapterTransition import eu.kanade.tachiyomi.util.system.dpToPx +import tachiyomi.domain.manga.model.Manga import kotlin.math.roundToInt class ReaderTransitionView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : 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 8ee534e4f..a59e47495 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 @@ -14,7 +14,6 @@ import eu.kanade.core.util.insertSeparators import eu.kanade.domain.chapter.interactor.GetChapter import eu.kanade.domain.chapter.interactor.SetReadStatus import eu.kanade.domain.chapter.interactor.UpdateChapter -import eu.kanade.domain.chapter.model.ChapterUpdate import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.manga.interactor.GetManga import eu.kanade.domain.ui.UiPreferences @@ -46,6 +45,7 @@ import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import logcat.LogPriority +import tachiyomi.domain.chapter.model.ChapterUpdate import tachiyomi.domain.updates.model.UpdatesWithRelations import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/MangaExtensions.kt b/app/src/main/java/eu/kanade/tachiyomi/util/MangaExtensions.kt index f8b0b6e9a..0d73d2bbe 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/MangaExtensions.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/MangaExtensions.kt @@ -3,12 +3,13 @@ package eu.kanade.tachiyomi.util import android.content.Context import eu.kanade.domain.download.service.DownloadPreferences import eu.kanade.domain.manga.interactor.UpdateManga -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.model.hasCustomCover import eu.kanade.domain.manga.model.isLocal +import eu.kanade.domain.manga.model.toSManga import eu.kanade.tachiyomi.data.cache.CoverCache import eu.kanade.tachiyomi.source.LocalSource import eu.kanade.tachiyomi.source.model.SManga +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.io.InputStream diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterGetNextUnread.kt b/app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterGetNextUnread.kt index d006d2cf4..40563761d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterGetNextUnread.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterGetNextUnread.kt @@ -1,11 +1,11 @@ package eu.kanade.tachiyomi.util.chapter -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.chapter.model.applyFilters -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.data.download.DownloadManager import eu.kanade.tachiyomi.ui.manga.ChapterItem import exh.source.isEhBasedManga +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga /** * Gets next unread chapter with filters and sorting applied diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterSorter.kt b/app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterSorter.kt index 43c4e949d..165ac43b4 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterSorter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterSorter.kt @@ -1,7 +1,7 @@ package eu.kanade.tachiyomi.util.chapter -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.manga.model.Manga +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga fun getChapterSort(manga: Manga, sortDescending: Boolean = manga.sortDescending()): (Chapter, Chapter) -> Int { return when (manga.sorting) { diff --git a/app/src/main/java/exh/EXHMigrations.kt b/app/src/main/java/exh/EXHMigrations.kt index f0ca04fd2..eaa81ee14 100644 --- a/app/src/main/java/exh/EXHMigrations.kt +++ b/app/src/main/java/exh/EXHMigrations.kt @@ -10,7 +10,6 @@ import eu.kanade.domain.backup.service.BackupPreferences import eu.kanade.domain.base.BasePreferences import eu.kanade.domain.chapter.interactor.DeleteChapters import eu.kanade.domain.chapter.interactor.UpdateChapter -import eu.kanade.domain.chapter.model.ChapterUpdate import eu.kanade.domain.library.service.LibraryPreferences import eu.kanade.domain.manga.interactor.GetManga import eu.kanade.domain.manga.interactor.GetMangaBySource @@ -65,6 +64,7 @@ import kotlinx.serialization.json.jsonArray import kotlinx.serialization.json.jsonPrimitive import tachiyomi.data.DatabaseHandler import tachiyomi.data.category.categoryMapper +import tachiyomi.domain.chapter.model.ChapterUpdate import tachiyomi.domain.manga.model.MangaUpdate import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get @@ -72,7 +72,7 @@ import uy.kohesive.injekt.injectLazy import java.io.File import java.net.URI import java.net.URISyntaxException -import eu.kanade.domain.manga.model.Manga as DomainManga +import tachiyomi.domain.manga.model.Manga as DomainManga object EXHMigrations { private val handler: DatabaseHandler by injectLazy() diff --git a/app/src/main/java/exh/GalleryAdder.kt b/app/src/main/java/exh/GalleryAdder.kt index 11182cc7b..4c61aac0c 100755 --- a/app/src/main/java/exh/GalleryAdder.kt +++ b/app/src/main/java/exh/GalleryAdder.kt @@ -4,11 +4,10 @@ import android.content.Context import androidx.core.net.toUri import eu.kanade.domain.chapter.interactor.GetChapter import eu.kanade.domain.chapter.interactor.SyncChaptersWithSource -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.manga.interactor.GetManga import eu.kanade.domain.manga.interactor.NetworkToLocalManga import eu.kanade.domain.manga.interactor.UpdateManga -import eu.kanade.domain.manga.model.Manga +import eu.kanade.domain.manga.model.toSManga import eu.kanade.domain.source.service.SourcePreferences import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.source.SourceManager @@ -16,6 +15,8 @@ import eu.kanade.tachiyomi.source.online.UrlImportableSource import eu.kanade.tachiyomi.source.online.all.EHentai import exh.log.xLogStack import exh.source.getMainSource +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/exh/debug/DebugFunctions.kt b/app/src/main/java/exh/debug/DebugFunctions.kt index b201b3726..3bf1cf948 100644 --- a/app/src/main/java/exh/debug/DebugFunctions.kt +++ b/app/src/main/java/exh/debug/DebugFunctions.kt @@ -12,6 +12,7 @@ import eu.kanade.domain.manga.interactor.GetFlatMetadataById import eu.kanade.domain.manga.interactor.GetSearchMetadata import eu.kanade.domain.manga.interactor.InsertFlatMetadata import eu.kanade.domain.manga.interactor.UpdateManga +import eu.kanade.domain.manga.model.toSManga import eu.kanade.domain.source.service.SourcePreferences import eu.kanade.domain.ui.UiPreferences import eu.kanade.tachiyomi.core.preference.PreferenceStore diff --git a/app/src/main/java/exh/eh/EHentaiUpdateHelper.kt b/app/src/main/java/exh/eh/EHentaiUpdateHelper.kt index 4bdfab051..bb95d68cf 100644 --- a/app/src/main/java/exh/eh/EHentaiUpdateHelper.kt +++ b/app/src/main/java/exh/eh/EHentaiUpdateHelper.kt @@ -5,20 +5,20 @@ import eu.kanade.domain.category.interactor.GetCategories import eu.kanade.domain.category.interactor.SetMangaCategories import eu.kanade.domain.chapter.interactor.GetChapterByMangaId import eu.kanade.domain.chapter.interactor.GetChapterByUrl -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.chapter.model.ChapterUpdate import eu.kanade.domain.chapter.repository.ChapterRepository import eu.kanade.domain.history.interactor.GetHistoryByMangaId import eu.kanade.domain.history.interactor.RemoveHistory import eu.kanade.domain.history.interactor.UpsertHistory import eu.kanade.domain.manga.interactor.GetManga import eu.kanade.domain.manga.interactor.UpdateManga -import eu.kanade.domain.manga.model.Manga import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.async import kotlinx.coroutines.coroutineScope +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.chapter.model.ChapterUpdate import tachiyomi.domain.history.model.History import tachiyomi.domain.history.model.HistoryUpdate +import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.manga.model.MangaUpdate import uy.kohesive.injekt.injectLazy import java.io.File diff --git a/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt b/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt index 96571809c..3fc1a74aa 100644 --- a/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt +++ b/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt @@ -14,12 +14,11 @@ import com.elvishew.xlog.XLog import eu.kanade.domain.UnsortedPreferences import eu.kanade.domain.chapter.interactor.GetChapterByMangaId import eu.kanade.domain.chapter.interactor.SyncChaptersWithSource -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.manga.interactor.GetExhFavoriteMangaWithMetadata import eu.kanade.domain.manga.interactor.GetFlatMetadataById import eu.kanade.domain.manga.interactor.InsertFlatMetadata import eu.kanade.domain.manga.interactor.UpdateManga -import eu.kanade.domain.manga.model.Manga +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 @@ -36,6 +35,8 @@ import kotlinx.coroutines.flow.mapNotNull import kotlinx.coroutines.flow.toList import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy diff --git a/app/src/main/java/exh/favorites/FavoritesSyncHelper.kt b/app/src/main/java/exh/favorites/FavoritesSyncHelper.kt index 8f9f5e283..39afe083d 100644 --- a/app/src/main/java/exh/favorites/FavoritesSyncHelper.kt +++ b/app/src/main/java/exh/favorites/FavoritesSyncHelper.kt @@ -11,7 +11,6 @@ import eu.kanade.domain.category.interactor.UpdateCategory import eu.kanade.domain.manga.interactor.GetLibraryManga import eu.kanade.domain.manga.interactor.GetManga import eu.kanade.domain.manga.interactor.UpdateManga -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.network.POST import eu.kanade.tachiyomi.network.await @@ -40,6 +39,7 @@ import okhttp3.FormBody import okhttp3.Request import tachiyomi.domain.category.model.Category import tachiyomi.domain.category.model.CategoryUpdate +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy diff --git a/app/src/main/java/exh/favorites/LocalFavoritesStorage.kt b/app/src/main/java/exh/favorites/LocalFavoritesStorage.kt index fbbdb0e18..132df4eff 100644 --- a/app/src/main/java/exh/favorites/LocalFavoritesStorage.kt +++ b/app/src/main/java/exh/favorites/LocalFavoritesStorage.kt @@ -5,7 +5,6 @@ import eu.kanade.domain.manga.interactor.DeleteFavoriteEntries import eu.kanade.domain.manga.interactor.GetFavoriteEntries import eu.kanade.domain.manga.interactor.GetFavorites import eu.kanade.domain.manga.interactor.InsertFavoriteEntries -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.model.toDomainManga import eu.kanade.tachiyomi.source.online.all.EHentai import exh.favorites.sql.models.FavoriteEntry @@ -19,6 +18,7 @@ import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.mapNotNull import kotlinx.coroutines.flow.toList import tachiyomi.domain.category.model.Category +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.injectLazy class LocalFavoritesStorage { diff --git a/app/src/main/java/exh/md/follows/MangaDexFollowsScreenModel.kt b/app/src/main/java/exh/md/follows/MangaDexFollowsScreenModel.kt index 14c09de44..54b98cb0f 100644 --- a/app/src/main/java/exh/md/follows/MangaDexFollowsScreenModel.kt +++ b/app/src/main/java/exh/md/follows/MangaDexFollowsScreenModel.kt @@ -2,7 +2,6 @@ package exh.md.follows import android.content.Context import cafe.adriel.voyager.navigator.Navigator -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.source.model.SourcePagingSourceType import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.online.all.MangaDex @@ -11,6 +10,7 @@ import exh.metadata.metadata.base.RaisedSearchMetadata import exh.source.getMainSource import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map +import tachiyomi.domain.manga.model.Manga class MangaDexFollowsScreenModel(sourceId: Long) : BrowseSourceScreenModel(sourceId, null) { diff --git a/app/src/main/java/exh/md/similar/MangaDexSimilarPagingSource.kt b/app/src/main/java/exh/md/similar/MangaDexSimilarPagingSource.kt index 0cd379b97..ed4a32d24 100644 --- a/app/src/main/java/exh/md/similar/MangaDexSimilarPagingSource.kt +++ b/app/src/main/java/exh/md/similar/MangaDexSimilarPagingSource.kt @@ -2,12 +2,13 @@ package exh.md.similar import eu.kanade.data.source.NoResultsException import eu.kanade.data.source.SourcePagingSource -import eu.kanade.domain.manga.model.Manga +import eu.kanade.domain.manga.model.toSManga import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.MetadataMangasPage import eu.kanade.tachiyomi.source.online.all.MangaDex import kotlinx.coroutines.async import kotlinx.coroutines.coroutineScope +import tachiyomi.domain.manga.model.Manga /** * MangaDexSimilarPagingSource inherited from the general Pager. diff --git a/app/src/main/java/exh/md/similar/MangaDexSimilarScreen.kt b/app/src/main/java/exh/md/similar/MangaDexSimilarScreen.kt index 63692d72c..915f7aae8 100644 --- a/app/src/main/java/exh/md/similar/MangaDexSimilarScreen.kt +++ b/app/src/main/java/exh/md/similar/MangaDexSimilarScreen.kt @@ -13,12 +13,12 @@ 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.manga.model.Manga import eu.kanade.presentation.browse.BrowseSourceContent import eu.kanade.presentation.browse.components.BrowseSourceSimpleToolbar import eu.kanade.presentation.components.Scaffold import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.ui.manga.MangaScreen +import tachiyomi.domain.manga.model.Manga class MangaDexSimilarScreen(val mangaId: Long, val sourceId: Long) : Screen { diff --git a/app/src/main/java/exh/md/similar/MangaDexSimilarScreenModel.kt b/app/src/main/java/exh/md/similar/MangaDexSimilarScreenModel.kt index e9a5f5073..b42e84c73 100644 --- a/app/src/main/java/exh/md/similar/MangaDexSimilarScreenModel.kt +++ b/app/src/main/java/exh/md/similar/MangaDexSimilarScreenModel.kt @@ -3,7 +3,6 @@ package exh.md.similar import android.content.Context import cafe.adriel.voyager.navigator.Navigator import eu.kanade.domain.manga.interactor.GetManga -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.source.model.SourcePagingSourceType import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.online.all.MangaDex @@ -13,6 +12,7 @@ import exh.source.getMainSource import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map import kotlinx.coroutines.runBlocking +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/exh/pagepreview/PagePreviewScreenModel.kt b/app/src/main/java/exh/pagepreview/PagePreviewScreenModel.kt index 2748d218e..efa2ca47c 100644 --- a/app/src/main/java/exh/pagepreview/PagePreviewScreenModel.kt +++ b/app/src/main/java/exh/pagepreview/PagePreviewScreenModel.kt @@ -6,10 +6,8 @@ import androidx.compose.runtime.setValue import cafe.adriel.voyager.core.model.StateScreenModel import cafe.adriel.voyager.core.model.coroutineScope import eu.kanade.domain.chapter.interactor.GetChapterByMangaId -import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.manga.interactor.GetManga import eu.kanade.domain.manga.interactor.GetPagePreviews -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.model.PagePreview import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.SourceManager @@ -19,6 +17,8 @@ import kotlinx.coroutines.flow.catch import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.update +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/exh/recs/RecommendsPagingSource.kt b/app/src/main/java/exh/recs/RecommendsPagingSource.kt index 9a9734ebf..ebd24b16f 100644 --- a/app/src/main/java/exh/recs/RecommendsPagingSource.kt +++ b/app/src/main/java/exh/recs/RecommendsPagingSource.kt @@ -2,7 +2,6 @@ package exh.recs import eu.kanade.data.source.NoResultsException import eu.kanade.data.source.SourcePagingSource -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.track.interactor.GetTracks import eu.kanade.tachiyomi.data.track.TrackManager import eu.kanade.tachiyomi.network.GET @@ -29,6 +28,7 @@ import logcat.LogPriority import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.MediaType.Companion.toMediaType import okhttp3.RequestBody.Companion.toRequestBody +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy diff --git a/app/src/main/java/exh/recs/RecommendsScreen.kt b/app/src/main/java/exh/recs/RecommendsScreen.kt index d7d3c9832..71b467e3e 100644 --- a/app/src/main/java/exh/recs/RecommendsScreen.kt +++ b/app/src/main/java/exh/recs/RecommendsScreen.kt @@ -13,11 +13,11 @@ import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.Navigator import cafe.adriel.voyager.navigator.currentOrThrow -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.browse.BrowseSourceContent import eu.kanade.presentation.browse.components.BrowseSourceSimpleToolbar import eu.kanade.presentation.components.Scaffold import eu.kanade.tachiyomi.ui.browse.source.SourcesScreen +import tachiyomi.domain.manga.model.Manga class RecommendsScreen(val mangaId: Long, val sourceId: Long) : Screen { diff --git a/app/src/main/java/exh/smartsearch/SmartSearchEngine.kt b/app/src/main/java/exh/smartsearch/SmartSearchEngine.kt index 7dfbd4dd8..f793c0483 100644 --- a/app/src/main/java/exh/smartsearch/SmartSearchEngine.kt +++ b/app/src/main/java/exh/smartsearch/SmartSearchEngine.kt @@ -1,6 +1,5 @@ package exh.smartsearch -import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.model.toDomainManga import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.source.model.FilterList @@ -10,6 +9,7 @@ import info.debatty.java.stringsimilarity.NormalizedLevenshtein import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.async import kotlinx.coroutines.supervisorScope +import tachiyomi.domain.manga.model.Manga import java.util.Locale class SmartSearchEngine( diff --git a/app/src/main/java/exh/source/SourceHelper.kt b/app/src/main/java/exh/source/SourceHelper.kt index c079c159e..dcf0a4af6 100644 --- a/app/src/main/java/exh/source/SourceHelper.kt +++ b/app/src/main/java/exh/source/SourceHelper.kt @@ -1,6 +1,5 @@ package exh.source -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.source.online.all.MangaDex @@ -9,6 +8,7 @@ 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 diff --git a/app/src/main/java/exh/ui/intercept/InterceptActivity.kt b/app/src/main/java/exh/ui/intercept/InterceptActivity.kt index cdcbfb233..3d6abd279 100755 --- a/app/src/main/java/exh/ui/intercept/InterceptActivity.kt +++ b/app/src/main/java/exh/ui/intercept/InterceptActivity.kt @@ -18,8 +18,6 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.lifecycle.lifecycleScope import com.google.android.material.dialog.MaterialAlertDialogBuilder -import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.manga.model.Manga import eu.kanade.presentation.components.AppBar import eu.kanade.presentation.components.Scaffold import eu.kanade.tachiyomi.R @@ -37,6 +35,8 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch +import tachiyomi.domain.chapter.model.Chapter +import tachiyomi.domain.manga.model.Manga class InterceptActivity : BaseActivity() { private var statusJob: Job? = null diff --git a/app/src/main/java/exh/ui/metadata/MetadataViewScreenModel.kt b/app/src/main/java/exh/ui/metadata/MetadataViewScreenModel.kt index 81a79a35f..013cd7bd7 100644 --- a/app/src/main/java/exh/ui/metadata/MetadataViewScreenModel.kt +++ b/app/src/main/java/exh/ui/metadata/MetadataViewScreenModel.kt @@ -4,7 +4,6 @@ import cafe.adriel.voyager.core.model.StateScreenModel import cafe.adriel.voyager.core.model.coroutineScope import eu.kanade.domain.manga.interactor.GetFlatMetadataById import eu.kanade.domain.manga.interactor.GetManga -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.source.online.MetadataSource import eu.kanade.tachiyomi.util.lang.launchIO @@ -12,6 +11,7 @@ import exh.metadata.metadata.base.RaisedSearchMetadata import exh.source.getMainSource import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/exh/ui/smartsearch/SmartSearchScreenModel.kt b/app/src/main/java/exh/ui/smartsearch/SmartSearchScreenModel.kt index ee4ba172e..f9f06d83e 100644 --- a/app/src/main/java/exh/ui/smartsearch/SmartSearchScreenModel.kt +++ b/app/src/main/java/exh/ui/smartsearch/SmartSearchScreenModel.kt @@ -3,13 +3,13 @@ package exh.ui.smartsearch import cafe.adriel.voyager.core.model.StateScreenModel import cafe.adriel.voyager.core.model.coroutineScope import eu.kanade.domain.manga.interactor.NetworkToLocalManga -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.ui.browse.source.SourcesScreen import eu.kanade.tachiyomi.util.lang.launchIO import exh.smartsearch.SmartSearchEngine import kotlinx.coroutines.CancellationException +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/exh/util/LewdMangaChecker.kt b/app/src/main/java/exh/util/LewdMangaChecker.kt index ce5ff955c..2760d1d54 100644 --- a/app/src/main/java/exh/util/LewdMangaChecker.kt +++ b/app/src/main/java/exh/util/LewdMangaChecker.kt @@ -1,9 +1,9 @@ package exh.util -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.source.SourceManager import exh.source.isEhBasedManga import exh.source.nHentaiSourceIds +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get diff --git a/app/src/main/java/exh/util/MangaType.kt b/app/src/main/java/exh/util/MangaType.kt index 6aab4fe92..fb62c30b2 100644 --- a/app/src/main/java/exh/util/MangaType.kt +++ b/app/src/main/java/exh/util/MangaType.kt @@ -1,10 +1,10 @@ package exh.util import android.content.Context -import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.ui.reader.setting.ReadingModeType +import tachiyomi.domain.manga.model.Manga import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.util.Locale diff --git a/app/src/main/java/exh/util/SearchOverride.kt b/app/src/main/java/exh/util/SearchOverride.kt index 2b4573152..78096ffdb 100644 --- a/app/src/main/java/exh/util/SearchOverride.kt +++ b/app/src/main/java/exh/util/SearchOverride.kt @@ -1,6 +1,7 @@ package exh.util import android.content.Context +import eu.kanade.domain.manga.model.toSManga import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.online.UrlImportableSource import eu.kanade.tachiyomi.util.lang.runAsObservable diff --git a/domain/src/main/java/tachiyomi/domain/chapter/model/Chapter.kt b/domain/src/main/java/tachiyomi/domain/chapter/model/Chapter.kt new file mode 100644 index 000000000..e11ca6564 --- /dev/null +++ b/domain/src/main/java/tachiyomi/domain/chapter/model/Chapter.kt @@ -0,0 +1,36 @@ +package tachiyomi.domain.chapter.model + +data class Chapter( + val id: Long, + val mangaId: Long, + val read: Boolean, + val bookmark: Boolean, + val lastPageRead: Long, + val dateFetch: Long, + val sourceOrder: Long, + val url: String, + val name: String, + val dateUpload: Long, + val chapterNumber: Float, + val scanlator: String?, +) { + val isRecognizedNumber: Boolean + get() = chapterNumber >= 0f + + companion object { + fun create() = Chapter( + id = -1, + mangaId = -1, + read = false, + bookmark = false, + lastPageRead = 0, + dateFetch = 0, + sourceOrder = 0, + url = "", + name = "", + dateUpload = -1, + chapterNumber = -1f, + scanlator = null, + ) + } +} diff --git a/app/src/main/java/eu/kanade/domain/chapter/model/ChapterUpdate.kt b/domain/src/main/java/tachiyomi/domain/chapter/model/ChapterUpdate.kt similarity index 93% rename from app/src/main/java/eu/kanade/domain/chapter/model/ChapterUpdate.kt rename to domain/src/main/java/tachiyomi/domain/chapter/model/ChapterUpdate.kt index 8e073f358..7cfe4ab23 100644 --- a/app/src/main/java/eu/kanade/domain/chapter/model/ChapterUpdate.kt +++ b/domain/src/main/java/tachiyomi/domain/chapter/model/ChapterUpdate.kt @@ -1,4 +1,4 @@ -package eu.kanade.domain.chapter.model +package tachiyomi.domain.chapter.model data class ChapterUpdate( val id: Long, diff --git a/domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt b/domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt new file mode 100644 index 000000000..74122ffbb --- /dev/null +++ b/domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt @@ -0,0 +1,154 @@ +package tachiyomi.domain.manga.model + +import eu.kanade.tachiyomi.source.model.UpdateStrategy +import tachiyomi.domain.manga.interactor.GetCustomMangaInfo +import uy.kohesive.injekt.injectLazy +import java.io.Serializable + +data class Manga( + val id: Long, + val source: Long, + val favorite: Boolean, + val lastUpdate: Long, + val dateAdded: Long, + val viewerFlags: Long, + val chapterFlags: Long, + val coverLastModified: Long, + val url: String, + // SY --> + val ogTitle: String, + val ogArtist: String?, + val ogAuthor: String?, + val ogDescription: String?, + val ogGenre: List?, + val ogStatus: Long, + // SY <-- + val thumbnailUrl: String?, + val updateStrategy: UpdateStrategy, + val initialized: Boolean, + // SY --> + val filteredScanlators: List?, + // SY <-- +) : Serializable { + + // SY --> + private val customMangaInfo = if (favorite) { + getCustomMangaInfo.get(id) + } else { + null + } + + val title: String + get() = customMangaInfo?.title ?: ogTitle + + val author: String? + get() = customMangaInfo?.author ?: ogAuthor + + val artist: String? + get() = customMangaInfo?.artist ?: ogArtist + + val description: String? + get() = customMangaInfo?.description ?: ogDescription + + val genre: List? + get() = customMangaInfo?.genre ?: ogGenre + + val status: Long + get() = customMangaInfo?.status ?: ogStatus + // SY <-- + + val sorting: Long + get() = chapterFlags and CHAPTER_SORTING_MASK + + val displayMode: Long + get() = chapterFlags and CHAPTER_DISPLAY_MASK + + val unreadFilterRaw: Long + get() = chapterFlags and CHAPTER_UNREAD_MASK + + val downloadedFilterRaw: Long + get() = chapterFlags and CHAPTER_DOWNLOADED_MASK + + val bookmarkedFilterRaw: Long + get() = chapterFlags and CHAPTER_BOOKMARKED_MASK + + val unreadFilter: TriStateFilter + get() = when (unreadFilterRaw) { + CHAPTER_SHOW_UNREAD -> TriStateFilter.ENABLED_IS + CHAPTER_SHOW_READ -> TriStateFilter.ENABLED_NOT + else -> TriStateFilter.DISABLED + } + + val bookmarkedFilter: TriStateFilter + get() = when (bookmarkedFilterRaw) { + CHAPTER_SHOW_BOOKMARKED -> TriStateFilter.ENABLED_IS + CHAPTER_SHOW_NOT_BOOKMARKED -> TriStateFilter.ENABLED_NOT + else -> TriStateFilter.DISABLED + } + + fun sortDescending(): Boolean { + return chapterFlags and CHAPTER_SORT_DIR_MASK == CHAPTER_SORT_DESC + } + + companion object { + // Generic filter that does not filter anything + const val SHOW_ALL = 0x00000000L + + const val CHAPTER_SORT_DESC = 0x00000000L + const val CHAPTER_SORT_ASC = 0x00000001L + const val CHAPTER_SORT_DIR_MASK = 0x00000001L + + const val CHAPTER_SHOW_UNREAD = 0x00000002L + const val CHAPTER_SHOW_READ = 0x00000004L + const val CHAPTER_UNREAD_MASK = 0x00000006L + + const val CHAPTER_SHOW_DOWNLOADED = 0x00000008L + const val CHAPTER_SHOW_NOT_DOWNLOADED = 0x00000010L + const val CHAPTER_DOWNLOADED_MASK = 0x00000018L + + const val CHAPTER_SHOW_BOOKMARKED = 0x00000020L + const val CHAPTER_SHOW_NOT_BOOKMARKED = 0x00000040L + const val CHAPTER_BOOKMARKED_MASK = 0x00000060L + + const val CHAPTER_SORTING_SOURCE = 0x00000000L + const val CHAPTER_SORTING_NUMBER = 0x00000100L + const val CHAPTER_SORTING_UPLOAD_DATE = 0x00000200L + const val CHAPTER_SORTING_MASK = 0x00000300L + + const val CHAPTER_DISPLAY_NAME = 0x00000000L + const val CHAPTER_DISPLAY_NUMBER = 0x00100000L + const val CHAPTER_DISPLAY_MASK = 0x00100000L + + fun create() = Manga( + id = -1L, + url = "", + // Sy --> + ogTitle = "", + // SY <-- + source = -1L, + favorite = false, + lastUpdate = 0L, + dateAdded = 0L, + viewerFlags = 0L, + chapterFlags = 0L, + coverLastModified = 0L, + // SY --> + ogArtist = null, + ogAuthor = null, + ogDescription = null, + ogGenre = null, + ogStatus = 0L, + // SY <-- + thumbnailUrl = null, + updateStrategy = UpdateStrategy.ALWAYS_UPDATE, + initialized = false, + // SY --> + filteredScanlators = null, + // SY <-- + ) + + // SY --> + private val getCustomMangaInfo: GetCustomMangaInfo by injectLazy() + // SY <-- + } +} diff --git a/domain/src/main/java/tachiyomi/domain/manga/model/MangaCover.kt b/domain/src/main/java/tachiyomi/domain/manga/model/MangaCover.kt index fab5572f3..d2ca3b103 100644 --- a/domain/src/main/java/tachiyomi/domain/manga/model/MangaCover.kt +++ b/domain/src/main/java/tachiyomi/domain/manga/model/MangaCover.kt @@ -10,3 +10,13 @@ data class MangaCover( val url: String?, val lastModified: Long, ) + +fun Manga.asMangaCover(): MangaCover { + return MangaCover( + mangaId = id, + sourceId = source, + isMangaFavorite = favorite, + url = thumbnailUrl, + lastModified = coverLastModified, + ) +} diff --git a/domain/src/main/java/tachiyomi/domain/manga/model/MangaUpdate.kt b/domain/src/main/java/tachiyomi/domain/manga/model/MangaUpdate.kt index 9dc7dd297..461bb5617 100644 --- a/domain/src/main/java/tachiyomi/domain/manga/model/MangaUpdate.kt +++ b/domain/src/main/java/tachiyomi/domain/manga/model/MangaUpdate.kt @@ -25,3 +25,31 @@ data class MangaUpdate( val filteredScanlators: List? = null, // SY <-- ) + +fun Manga.toMangaUpdate(): MangaUpdate { + return MangaUpdate( + id = id, + source = source, + favorite = favorite, + lastUpdate = lastUpdate, + dateAdded = dateAdded, + viewerFlags = viewerFlags, + chapterFlags = chapterFlags, + coverLastModified = coverLastModified, + url = url, + // SY --> + title = ogTitle, + artist = ogArtist, + author = ogAuthor, + description = ogDescription, + genre = ogGenre, + status = ogStatus, + // SY <-- + thumbnailUrl = thumbnailUrl, + updateStrategy = updateStrategy, + initialized = initialized, + // SY --> + filteredScanlators = filteredScanlators, + // SY <-- + ) +} diff --git a/domain/src/main/java/tachiyomi/domain/manga/model/TriStateFilter.kt b/domain/src/main/java/tachiyomi/domain/manga/model/TriStateFilter.kt new file mode 100644 index 000000000..b890cafad --- /dev/null +++ b/domain/src/main/java/tachiyomi/domain/manga/model/TriStateFilter.kt @@ -0,0 +1,7 @@ +package tachiyomi.domain.manga.model + +enum class TriStateFilter { + DISABLED, // Disable filter + ENABLED_IS, // Enabled with "is" filter + ENABLED_NOT, // Enabled with "not" filter +}