diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt index 3ec11ffde..f19ed1040 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt @@ -7,6 +7,7 @@ object MigrationFlags { const val TRACK = 0b00100 const val CUSTOM_COVER = 0b01000 const val EXTRA = 0b10000 + const val DELETE_CHAPTERS = 0b100000 fun hasChapters(value: Int): Boolean { return value and CHAPTERS != 0 @@ -27,4 +28,8 @@ object MigrationFlags { fun hasExtra(value: Int): Boolean { return value and EXTRA != 0 } + + fun hasDeleteChapters(value: Int): Boolean { + return value and DELETE_CHAPTERS != 0 + } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/design/MigrationBottomSheetDialog.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/design/MigrationBottomSheetDialog.kt index 5fe4c08f3..8e5323840 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/design/MigrationBottomSheetDialog.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/design/MigrationBottomSheetDialog.kt @@ -100,6 +100,7 @@ class MigrationBottomSheetDialog(private val baseContext: Context, private val l if (binding.migTracking.isChecked) flags = flags or MigrationFlags.TRACK if (binding.migCustomCover.isChecked) flags = flags or MigrationFlags.CUSTOM_COVER if (binding.migExtra.isChecked) flags = flags or MigrationFlags.EXTRA + if (binding.migDeleteDownloaded.isChecked) flags = flags or MigrationFlags.DELETE_CHAPTERS preferences.migrateFlags().set(flags) } 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 cdebb1910..b51c91ec8 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,6 +10,7 @@ import eu.kanade.domain.manga.model.hasCustomCover import eu.kanade.domain.manga.model.toSManga import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.cache.CoverCache +import eu.kanade.tachiyomi.data.download.DownloadManager import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.source.getNameForMangaInfo import eu.kanade.tachiyomi.source.online.all.EHentai @@ -62,6 +63,7 @@ class MigrationListScreenModel( private val config: MigrationProcedureConfig, private val preferences: UnsortedPreferences = Injekt.get(), private val sourceManager: SourceManager = Injekt.get(), + private val downloadManager: DownloadManager = Injekt.get(), private val coverCache: CoverCache = Injekt.get(), private val getManga: GetManga = Injekt.get(), private val networkToLocalManga: NetworkToLocalManga = Injekt.get(), @@ -375,6 +377,13 @@ class MigrationListScreenModel( viewerFlags = prevManga.viewerFlags, ) } + // Delete downloaded + if (MigrationFlags.hasDeleteChapters(flags)) { + val oldSource = sourceManager.get(prevManga.source) + if (oldSource != null) { + downloadManager.deleteManga(prevManga, oldSource) + } + } // Update favorite status if (replace) { prevMangaUpdate = MangaUpdate( diff --git a/app/src/main/res/layout/migration_bottom_sheet.xml b/app/src/main/res/layout/migration_bottom_sheet.xml index 76d657339..ef210131f 100644 --- a/app/src/main/res/layout/migration_bottom_sheet.xml +++ b/app/src/main/res/layout/migration_bottom_sheet.xml @@ -43,7 +43,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:orientation="horizontal" - app:constraint_referenced_ids="mig_chapters,mig_categories,mig_tracking,mig_custom_cover,mig_extra" + app:constraint_referenced_ids="mig_chapters,mig_categories,mig_tracking,mig_custom_cover,mig_extra,mig_delete_downloaded" app:flow_horizontalBias="0" app:flow_horizontalGap="8dp" app:flow_horizontalStyle="packed" @@ -87,6 +87,13 @@ android:layout_height="wrap_content" android:checked="true" android:text="@string/log_extra" /> + + Library entries Chapters Tracking + Delete downloaded History