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 911a4fd4d..1443b6861 100644 --- a/app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt +++ b/app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt @@ -121,9 +121,9 @@ class MangaRepositoryImpl( } } - override suspend fun updateAll(values: List): Boolean { + override suspend fun updateAll(mangaUpdates: List): Boolean { return try { - partialUpdate(*values.toTypedArray()) + partialUpdate(*mangaUpdates.toTypedArray()) true } catch (e: Exception) { logcat(LogPriority.ERROR, e) @@ -131,9 +131,9 @@ class MangaRepositoryImpl( } } - private suspend fun partialUpdate(vararg values: MangaUpdate) { + private suspend fun partialUpdate(vararg mangaUpdates: MangaUpdate) { handler.await(inTransaction = true) { - values.forEach { value -> + mangaUpdates.forEach { value -> mangasQueries.update( source = value.source, url = value.url, diff --git a/app/src/main/java/eu/kanade/data/track/TrackRepositoryImpl.kt b/app/src/main/java/eu/kanade/data/track/TrackRepositoryImpl.kt index be5fd49a3..6c7c757a2 100644 --- a/app/src/main/java/eu/kanade/data/track/TrackRepositoryImpl.kt +++ b/app/src/main/java/eu/kanade/data/track/TrackRepositoryImpl.kt @@ -58,9 +58,9 @@ class TrackRepositoryImpl( insertValues(*tracks.toTypedArray()) } - private suspend fun insertValues(vararg values: Track) { + private suspend fun insertValues(vararg tracks: Track) { handler.await(inTransaction = true) { - values.forEach { mangaTrack -> + tracks.forEach { mangaTrack -> manga_syncQueries.insert( mangaId = mangaTrack.mangaId, syncId = mangaTrack.syncId, diff --git a/app/src/main/java/eu/kanade/domain/DomainModule.kt b/app/src/main/java/eu/kanade/domain/DomainModule.kt index 1a24bef95..14d9c761d 100644 --- a/app/src/main/java/eu/kanade/domain/DomainModule.kt +++ b/app/src/main/java/eu/kanade/domain/DomainModule.kt @@ -32,7 +32,7 @@ import eu.kanade.domain.download.interactor.DeleteDownload import eu.kanade.domain.extension.interactor.GetExtensionLanguages import eu.kanade.domain.extension.interactor.GetExtensionSources import eu.kanade.domain.extension.interactor.GetExtensionsByType -import eu.kanade.domain.history.interactor.DeleteHistoryTable +import eu.kanade.domain.history.interactor.DeleteAllHistory import eu.kanade.domain.history.interactor.GetHistory import eu.kanade.domain.history.interactor.GetNextChapter import eu.kanade.domain.history.interactor.RemoveHistoryById @@ -117,7 +117,7 @@ class DomainModule : InjektModule { addFactory { SyncChaptersWithTrackServiceTwoWay(get(), get()) } addSingletonFactory { HistoryRepositoryImpl(get()) } - addFactory { DeleteHistoryTable(get()) } + addFactory { DeleteAllHistory(get()) } addFactory { GetHistory(get()) } addFactory { UpsertHistory(get()) } addFactory { RemoveHistoryById(get()) } diff --git a/app/src/main/java/eu/kanade/domain/category/interactor/CreateCategoryWithName.kt b/app/src/main/java/eu/kanade/domain/category/interactor/CreateCategoryWithName.kt index b715cf494..95ecbce27 100644 --- a/app/src/main/java/eu/kanade/domain/category/interactor/CreateCategoryWithName.kt +++ b/app/src/main/java/eu/kanade/domain/category/interactor/CreateCategoryWithName.kt @@ -4,9 +4,8 @@ import eu.kanade.domain.category.model.Category import eu.kanade.domain.category.model.anyWithName import eu.kanade.domain.category.repository.CategoryRepository import eu.kanade.domain.library.service.LibraryPreferences +import eu.kanade.tachiyomi.util.lang.withNonCancellableContext import eu.kanade.tachiyomi.util.system.logcat -import kotlinx.coroutines.NonCancellable -import kotlinx.coroutines.withContext import logcat.LogPriority class CreateCategoryWithName( @@ -22,10 +21,10 @@ class CreateCategoryWithName( sort.direction.flag } - suspend fun await(name: String): Result = withContext(NonCancellable) { + suspend fun await(name: String): Result = withNonCancellableContext { val categories = categoryRepository.getAll() if (categories.anyWithName(name)) { - return@withContext Result.NameAlreadyExistsError + return@withNonCancellableContext Result.NameAlreadyExistsError } val nextOrder = categories.maxOfOrNull { it.order }?.plus(1) ?: 0 diff --git a/app/src/main/java/eu/kanade/domain/category/interactor/DeleteCategory.kt b/app/src/main/java/eu/kanade/domain/category/interactor/DeleteCategory.kt index 58e85bb3b..54f622e23 100644 --- a/app/src/main/java/eu/kanade/domain/category/interactor/DeleteCategory.kt +++ b/app/src/main/java/eu/kanade/domain/category/interactor/DeleteCategory.kt @@ -2,21 +2,20 @@ package eu.kanade.domain.category.interactor import eu.kanade.domain.category.model.CategoryUpdate import eu.kanade.domain.category.repository.CategoryRepository +import eu.kanade.tachiyomi.util.lang.withNonCancellableContext import eu.kanade.tachiyomi.util.system.logcat -import kotlinx.coroutines.NonCancellable -import kotlinx.coroutines.withContext import logcat.LogPriority class DeleteCategory( private val categoryRepository: CategoryRepository, ) { - suspend fun await(categoryId: Long) = withContext(NonCancellable) { + suspend fun await(categoryId: Long) = withNonCancellableContext { try { categoryRepository.delete(categoryId) } catch (e: Exception) { logcat(LogPriority.ERROR, e) - return@withContext Result.InternalError(e) + return@withNonCancellableContext Result.InternalError(e) } val categories = categoryRepository.getAll() diff --git a/app/src/main/java/eu/kanade/domain/category/interactor/RenameCategory.kt b/app/src/main/java/eu/kanade/domain/category/interactor/RenameCategory.kt index 1552bd5fc..ef531599b 100644 --- a/app/src/main/java/eu/kanade/domain/category/interactor/RenameCategory.kt +++ b/app/src/main/java/eu/kanade/domain/category/interactor/RenameCategory.kt @@ -4,19 +4,18 @@ import eu.kanade.domain.category.model.Category import eu.kanade.domain.category.model.CategoryUpdate import eu.kanade.domain.category.model.anyWithName import eu.kanade.domain.category.repository.CategoryRepository +import eu.kanade.tachiyomi.util.lang.withNonCancellableContext import eu.kanade.tachiyomi.util.system.logcat -import kotlinx.coroutines.NonCancellable -import kotlinx.coroutines.withContext import logcat.LogPriority class RenameCategory( private val categoryRepository: CategoryRepository, ) { - suspend fun await(categoryId: Long, name: String) = withContext(NonCancellable) { + suspend fun await(categoryId: Long, name: String) = withNonCancellableContext { val categories = categoryRepository.getAll() if (categories.anyWithName(name)) { - return@withContext Result.NameAlreadyExistsError + return@withNonCancellableContext Result.NameAlreadyExistsError } val update = CategoryUpdate( diff --git a/app/src/main/java/eu/kanade/domain/category/interactor/ReorderCategory.kt b/app/src/main/java/eu/kanade/domain/category/interactor/ReorderCategory.kt index 1afeecdf4..dfd591a46 100644 --- a/app/src/main/java/eu/kanade/domain/category/interactor/ReorderCategory.kt +++ b/app/src/main/java/eu/kanade/domain/category/interactor/ReorderCategory.kt @@ -3,21 +3,20 @@ package eu.kanade.domain.category.interactor import eu.kanade.domain.category.model.Category import eu.kanade.domain.category.model.CategoryUpdate import eu.kanade.domain.category.repository.CategoryRepository +import eu.kanade.tachiyomi.util.lang.withNonCancellableContext import eu.kanade.tachiyomi.util.system.logcat -import kotlinx.coroutines.NonCancellable -import kotlinx.coroutines.withContext import logcat.LogPriority class ReorderCategory( private val categoryRepository: CategoryRepository, ) { - suspend fun await(categoryId: Long, newPosition: Int) = withContext(NonCancellable) { + suspend fun await(categoryId: Long, newPosition: Int) = withNonCancellableContext { val categories = categoryRepository.getAll().filterNot(Category::isSystemCategory) val currentIndex = categories.indexOfFirst { it.id == categoryId } if (currentIndex == newPosition) { - return@withContext Result.Unchanged + return@withNonCancellableContext Result.Unchanged } val reorderedCategories = categories.toMutableList() diff --git a/app/src/main/java/eu/kanade/domain/category/interactor/UpdateCategory.kt b/app/src/main/java/eu/kanade/domain/category/interactor/UpdateCategory.kt index 939a87b6b..0fccd6a18 100644 --- a/app/src/main/java/eu/kanade/domain/category/interactor/UpdateCategory.kt +++ b/app/src/main/java/eu/kanade/domain/category/interactor/UpdateCategory.kt @@ -2,14 +2,13 @@ package eu.kanade.domain.category.interactor import eu.kanade.domain.category.model.CategoryUpdate import eu.kanade.domain.category.repository.CategoryRepository -import kotlinx.coroutines.NonCancellable -import kotlinx.coroutines.withContext +import eu.kanade.tachiyomi.util.lang.withNonCancellableContext class UpdateCategory( private val categoryRepository: CategoryRepository, ) { - suspend fun await(payload: CategoryUpdate): Result = withContext(NonCancellable) { + suspend fun await(payload: CategoryUpdate): Result = withNonCancellableContext { try { categoryRepository.updatePartial(payload) Result.Success 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 098a5af2c..fd1ae38ac 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 @@ -9,10 +9,9 @@ import eu.kanade.domain.manga.model.Manga import eu.kanade.domain.manga.repository.MangaRepository import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.source.online.all.MergedSource +import eu.kanade.tachiyomi.util.lang.withNonCancellableContext import eu.kanade.tachiyomi.util.system.logcat import exh.source.MERGED_SOURCE_ID -import kotlinx.coroutines.NonCancellable -import kotlinx.coroutines.withContext import logcat.LogPriority class SetReadStatus( @@ -31,60 +30,50 @@ class SetReadStatus( ) } - suspend fun await(read: Boolean, vararg values: Chapter): Result = withContext(NonCancellable) { - val chapters = values.filterNot { it.read == read } - - if (chapters.isEmpty()) { - return@withContext Result.NoChapters - } - - val manga = chapters.fold(mutableSetOf()) { acc, chapter -> - if (acc.all { it.id != chapter.mangaId }) { - acc += mangaRepository.getMangaById(chapter.mangaId) - } - acc + suspend fun await(read: Boolean, vararg chapters: Chapter): Result = withNonCancellableContext { + val chaptersToUpdate = chapters.filterNot { it.read == read } + if (chaptersToUpdate.isEmpty()) { + return@withNonCancellableContext Result.NoChapters } try { chapterRepository.updateAll( - chapters.map { chapter -> - mapper(chapter, read) - }, + chaptersToUpdate.map { mapper(it, read) }, ) } catch (e: Exception) { logcat(LogPriority.ERROR, e) - return@withContext Result.InternalError(e) + return@withNonCancellableContext Result.InternalError(e) } if (read && downloadPreferences.removeAfterMarkedAsRead().get()) { - manga.forEach { - deleteDownload.awaitAll( - manga = it, - values = chapters - .filter { chapter -> it.id == chapter.mangaId } - .toTypedArray(), - ) - } + chaptersToUpdate + .groupBy { it.mangaId } + .forEach { (mangaId, chapters) -> + deleteDownload.awaitAll( + manga = mangaRepository.getMangaById(mangaId), + chapters = chapters.toTypedArray(), + ) + } } Result.Success } - suspend fun await(mangaId: Long, read: Boolean): Result = withContext(NonCancellable) { + suspend fun await(mangaId: Long, read: Boolean): Result = withNonCancellableContext { await( read = read, - values = chapterRepository + chapters = chapterRepository .getChapterByMangaId(mangaId) .toTypedArray(), ) } // SY --> - private suspend fun awaitMerged(mangaId: Long, read: Boolean) = withContext(NonCancellable) f@{ + private suspend fun awaitMerged(mangaId: Long, read: Boolean) = withNonCancellableContext f@{ val mergedSource = sourceManager.get(MERGED_SOURCE_ID) as MergedSource return@f await( read = read, - values = mergedSource + chapters = mergedSource .getChapters(mangaId, dedupe = false) .toTypedArray(), ) 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 5a6c6b228..1e125dab7 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 @@ -9,8 +9,8 @@ import eu.kanade.domain.chapter.repository.ChapterRepository import eu.kanade.domain.manga.interactor.UpdateManga import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.data.download.DownloadManager -import eu.kanade.tachiyomi.source.LocalSource import eu.kanade.tachiyomi.source.Source +import eu.kanade.tachiyomi.source.isLocal import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.chapter.ChapterRecognition @@ -43,7 +43,7 @@ class SyncChaptersWithSource( manga: Manga, source: Source, ): List { - if (rawSourceChapters.isEmpty() && source.id != LocalSource.ID) { + if (rawSourceChapters.isEmpty() && !source.isLocal()) { throw NoChaptersException() } 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 546b7232c..c16a83be4 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 @@ -5,17 +5,16 @@ import eu.kanade.domain.chapter.model.toDbChapter import eu.kanade.domain.manga.model.Manga import eu.kanade.tachiyomi.data.download.DownloadManager import eu.kanade.tachiyomi.source.SourceManager -import kotlinx.coroutines.NonCancellable -import kotlinx.coroutines.withContext +import eu.kanade.tachiyomi.util.lang.withNonCancellableContext class DeleteDownload( private val sourceManager: SourceManager, private val downloadManager: DownloadManager, ) { - suspend fun awaitAll(manga: Manga, vararg values: Chapter) = withContext(NonCancellable) { + suspend fun awaitAll(manga: Manga, vararg chapters: Chapter) = withNonCancellableContext { sourceManager.get(manga.source)?.let { source -> - downloadManager.deleteChapters(values.map { it.toDbChapter() }, manga, source) + downloadManager.deleteChapters(chapters.map { it.toDbChapter() }, manga, source) } } } diff --git a/app/src/main/java/eu/kanade/domain/history/interactor/DeleteHistoryTable.kt b/app/src/main/java/eu/kanade/domain/history/interactor/DeleteAllHistory.kt similarity index 90% rename from app/src/main/java/eu/kanade/domain/history/interactor/DeleteHistoryTable.kt rename to app/src/main/java/eu/kanade/domain/history/interactor/DeleteAllHistory.kt index a8e10cbf5..292cf9e42 100644 --- a/app/src/main/java/eu/kanade/domain/history/interactor/DeleteHistoryTable.kt +++ b/app/src/main/java/eu/kanade/domain/history/interactor/DeleteAllHistory.kt @@ -2,7 +2,7 @@ package eu.kanade.domain.history.interactor import eu.kanade.domain.history.repository.HistoryRepository -class DeleteHistoryTable( +class DeleteAllHistory( private val repository: HistoryRepository, ) { 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 802bbd467..b1b4f32f4 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 @@ -21,8 +21,8 @@ class UpdateManga( return mangaRepository.update(mangaUpdate) } - suspend fun awaitAll(values: List): Boolean { - return mangaRepository.updateAll(values) + suspend fun awaitAll(mangaUpdates: List): Boolean { + return mangaRepository.updateAll(mangaUpdates) } suspend fun awaitUpdateFromSource( 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 eebc8d26f..3d24b5806 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 @@ -33,7 +33,7 @@ interface MangaRepository { suspend fun update(update: MangaUpdate): Boolean - suspend fun updateAll(values: List): Boolean + suspend fun updateAll(mangaUpdates: List): Boolean suspend fun getMangaBySourceId(sourceId: Long): List diff --git a/app/src/main/java/eu/kanade/domain/updates/interactor/GetUpdates.kt b/app/src/main/java/eu/kanade/domain/updates/interactor/GetUpdates.kt index 00a9a8bf8..c26ebfb18 100644 --- a/app/src/main/java/eu/kanade/domain/updates/interactor/GetUpdates.kt +++ b/app/src/main/java/eu/kanade/domain/updates/interactor/GetUpdates.kt @@ -18,7 +18,7 @@ class GetUpdates( return repository.subscribeAll(after) .onEach { updates -> // Set unread chapter count for bottom bar badge - preferences.unreadUpdatesCount().set(updates.count { it.read.not() }) + preferences.unreadUpdatesCount().set(updates.count { !it.read }) } } } diff --git a/app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt b/app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt index e51241ebd..742d8c3e8 100644 --- a/app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt @@ -10,6 +10,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalUriHandler import eu.kanade.domain.category.model.Category import eu.kanade.domain.library.model.LibraryManga +import eu.kanade.domain.manga.model.isLocal import eu.kanade.presentation.components.EmptyScreen import eu.kanade.presentation.components.EmptyScreenAction import eu.kanade.presentation.components.LibraryBottomActionMenu @@ -18,7 +19,6 @@ import eu.kanade.presentation.components.Scaffold import eu.kanade.presentation.library.components.LibraryContent import eu.kanade.presentation.library.components.LibraryToolbar import eu.kanade.tachiyomi.R -import eu.kanade.tachiyomi.source.LocalSource import eu.kanade.tachiyomi.ui.library.LibraryPresenter import eu.kanade.tachiyomi.widget.TachiyomiBottomNavigationView @@ -74,7 +74,7 @@ fun LibraryScreen( onChangeCategoryClicked = onChangeCategoryClicked, onMarkAsReadClicked = onMarkAsReadClicked, onMarkAsUnreadClicked = onMarkAsUnreadClicked, - onDownloadClicked = onDownloadClicked.takeIf { presenter.selection.none { it.manga.source == LocalSource.ID } }, + onDownloadClicked = onDownloadClicked.takeIf { presenter.selection.none { it.manga.isLocal() } }, onDeleteClicked = onDeleteClicked, // SY --> onClickCleanTitles = onClickCleanTitles.takeIf { presenter.showCleanTitles }, 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 aa2eb293b..c264b01ce 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 @@ -407,7 +407,7 @@ class Downloader( // When the page is ready, set page path, progress (just in case) and status .doOnNext { file -> val success = splitTallImageIfNeeded(page, tmpDir) - if (success.not()) { + if (!success) { notifier.onError(context.getString(R.string.download_notifier_split_failed), download.chapter.name, download.manga.title) } page.uri = file.uri diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/SourceExtensions.kt b/app/src/main/java/eu/kanade/tachiyomi/source/SourceExtensions.kt index 35a33da1c..93c78166f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/SourceExtensions.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/SourceExtensions.kt @@ -55,4 +55,6 @@ private fun getMergedSourcesString( } // SY <-- -fun Source.isLocalOrStub(): Boolean = id == LocalSource.ID || this is SourceManager.StubSource +fun Source.isLocal(): Boolean = id == LocalSource.ID + +fun Source.isLocalOrStub(): Boolean = isLocal() || this is SourceManager.StubSource 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 de35ded0a..44942d4df 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 @@ -15,9 +15,9 @@ import com.google.android.material.chip.ChipGroup import com.google.android.material.dialog.MaterialAlertDialogBuilder import eu.kanade.domain.manga.interactor.GetManga 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 -import eu.kanade.tachiyomi.source.LocalSource import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.ui.base.controller.DialogController import eu.kanade.tachiyomi.util.lang.chop @@ -71,8 +71,6 @@ class EditMangaDialog : DialogController { fun onViewCreated() { loadCover() - val isLocal = manga.source == LocalSource.ID - val statusAdapter: ArrayAdapter = ArrayAdapter( context, android.R.layout.simple_spinner_dropdown_item, @@ -103,7 +101,7 @@ class EditMangaDialog : DialogController { ) } - if (isLocal) { + if (manga.isLocal()) { if (manga.title != manga.url) { binding.title.setText(manga.title) } @@ -151,7 +149,7 @@ class EditMangaDialog : DialogController { } private fun resetTags() { - if (manga.genre.isNullOrEmpty() || manga.source == LocalSource.ID) { + if (manga.genre.isNullOrEmpty() || manga.isLocal()) { binding.mangaGenresTags.setChips(emptyList()) } else { binding.mangaGenresTags.setChips(manga.ogGenre.orEmpty()) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt index c0ae8bbab..204635592 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt @@ -1125,7 +1125,7 @@ class MangaPresenter( presenterScope.launchIO { setReadStatus.await( read = read, - values = chapters.toTypedArray(), + chapters = chapters.toTypedArray(), ) } toggleAllSelection(false) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/recent/history/HistoryPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/recent/history/HistoryPresenter.kt index 9e60a5be2..464eafe75 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/recent/history/HistoryPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/recent/history/HistoryPresenter.kt @@ -9,7 +9,7 @@ import androidx.compose.runtime.setValue import eu.kanade.core.util.insertSeparators import eu.kanade.domain.base.BasePreferences import eu.kanade.domain.chapter.model.Chapter -import eu.kanade.domain.history.interactor.DeleteHistoryTable +import eu.kanade.domain.history.interactor.DeleteAllHistory import eu.kanade.domain.history.interactor.GetHistory import eu.kanade.domain.history.interactor.GetNextChapter import eu.kanade.domain.history.interactor.RemoveHistoryById @@ -38,7 +38,7 @@ class HistoryPresenter( private val state: HistoryStateImpl = HistoryState() as HistoryStateImpl, private val getHistory: GetHistory = Injekt.get(), private val getNextChapter: GetNextChapter = Injekt.get(), - private val deleteHistoryTable: DeleteHistoryTable = Injekt.get(), + private val deleteAllHistory: DeleteAllHistory = Injekt.get(), private val removeHistoryById: RemoveHistoryById = Injekt.get(), private val removeHistoryByMangaId: RemoveHistoryByMangaId = Injekt.get(), preferences: BasePreferences = Injekt.get(), @@ -101,7 +101,7 @@ class HistoryPresenter( fun deleteAllHistory() { presenterScope.launchIO { - val result = deleteHistoryTable.await() + val result = deleteAllHistory.await() if (!result) return@launchIO withUIContext { view?.activity?.toast(R.string.clear_history_completed) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/recent/updates/UpdatesPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/recent/updates/UpdatesPresenter.kt index d19c5356f..85ab87d18 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/recent/updates/UpdatesPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/recent/updates/UpdatesPresenter.kt @@ -217,7 +217,7 @@ class UpdatesPresenter( presenterScope.launchIO { setReadStatus.await( read = read, - values = updates + chapters = updates .mapNotNull { getChapter.await(it.update.chapterId) } .toTypedArray(), )