Add function to delete downloaded chapters when migrating manga (#9621)
add function to delete downloaded chapters when migrating manga and getFlagsFromPositions fix (cherry picked from commit 4882896f4d65acabb82771699906b797b3de7662) # Conflicts: # 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
This commit is contained in:
parent
eade3c372c
commit
5a8f583c08
@ -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
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
||||
|
@ -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(
|
||||
|
@ -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" />
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/mig_delete_downloaded"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:checked="true"
|
||||
android:text="@string/delete_downloaded" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<View
|
||||
|
@ -12,6 +12,7 @@
|
||||
<string name="manga">Library entries</string>
|
||||
<string name="chapters">Chapters</string>
|
||||
<string name="track">Tracking</string>
|
||||
<string name="delete_downloaded">Delete downloaded</string>
|
||||
<string name="history">History</string>
|
||||
|
||||
<!-- Screen titles -->
|
||||
|
Loading…
x
Reference in New Issue
Block a user