diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupCreateService.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupCreateService.kt index 3e5d1e880..05b87521b 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupCreateService.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupCreateService.kt @@ -34,7 +34,9 @@ class BackupCreateService : Service() { // SY --> internal const val BACKUP_CUSTOM_INFO = 0x10 internal const val BACKUP_CUSTOM_INFO_MASK = 0x10 - internal const val BACKUP_ALL = 0x1F + internal const val BACKUP_READ_MANGA = 0x20 + internal const val BACKUP_READ_MANGA_MASK = 0x20 + internal const val BACKUP_ALL = 0x3F // SY <-- /** diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt index 3196639a8..d69b8ebdd 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt @@ -12,6 +12,8 @@ import eu.kanade.tachiyomi.data.backup.BackupCreateService.Companion.BACKUP_CUST import eu.kanade.tachiyomi.data.backup.BackupCreateService.Companion.BACKUP_CUSTOM_INFO_MASK import eu.kanade.tachiyomi.data.backup.BackupCreateService.Companion.BACKUP_HISTORY import eu.kanade.tachiyomi.data.backup.BackupCreateService.Companion.BACKUP_HISTORY_MASK +import eu.kanade.tachiyomi.data.backup.BackupCreateService.Companion.BACKUP_READ_MANGA +import eu.kanade.tachiyomi.data.backup.BackupCreateService.Companion.BACKUP_READ_MANGA_MASK import eu.kanade.tachiyomi.data.backup.BackupCreateService.Companion.BACKUP_TRACK import eu.kanade.tachiyomi.data.backup.BackupCreateService.Companion.BACKUP_TRACK_MASK import eu.kanade.tachiyomi.data.backup.full.models.Backup @@ -64,7 +66,11 @@ class FullBackupManager(context: Context) : AbstractBackupManager(context) { var backup: Backup? = null databaseHelper.inTransaction { - val databaseManga = getFavoriteManga() /* SY --> */ + getReadManga() + getMergedManga().filterNot { it.source == MERGED_SOURCE_ID } /* SY <-- */ + val databaseManga = getFavoriteManga() /* SY --> */ + if (flags and BACKUP_READ_MANGA_MASK == BACKUP_READ_MANGA) { + getReadManga() + } else { + emptyList() + } + getMergedManga() /* SY <-- */ backup = Backup( backupManga(databaseManga, flags), diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/LegacyBackupManager.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/LegacyBackupManager.kt index 7b131fe15..b54e42822 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/LegacyBackupManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/LegacyBackupManager.kt @@ -115,7 +115,7 @@ class LegacyBackupManager(context: Context, version: Int = CURRENT_VERSION) : Ab // SY <-- databaseHelper.inTransaction { - val mangas = getFavoriteManga()/* SY --> */.filterNot { it.source == MERGED_SOURCE_ID } + getMergedManga().filterNot { it.source == MERGED_SOURCE_ID } /* SY <-- */ + val mangas = getFavoriteManga()/* SY --> */.filterNot { it.source == MERGED_SOURCE_ID } + getMergedManga() /* SY <-- */ val extensions: MutableSet = mutableSetOf() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBackupController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBackupController.kt index 8c216b0f6..cc97cccff 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBackupController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBackupController.kt @@ -278,7 +278,8 @@ class SettingsBackupController : SettingsController() { R.string.track, R.string.history, // SY --> - R.string.custom_manga_info + R.string.custom_manga_info, + R.string.all_read_manga // SY <-- ) .map { activity.getString(it) } @@ -289,7 +290,7 @@ class SettingsBackupController : SettingsController() { .listItemsMultiChoice( items = options, disabledIndices = intArrayOf(0), - initialSelection = intArrayOf(0, 1, 2, 3, 4 /* SY --> */, 5 /* SY <-- */) + initialSelection = intArrayOf(0, 1, 2, 3, 4 /* SY --> */, 5, 6 /* SY <-- */) ) { _, positions, _ -> var flags = 0 for (i in 1 until positions.size) { @@ -300,6 +301,7 @@ class SettingsBackupController : SettingsController() { 4 -> flags = flags or BackupCreateService.BACKUP_HISTORY // SY --> 5 -> flags = flags or BackupCreateService.BACKUP_CUSTOM_INFO + 6 -> flags = flags or BackupCreateService.BACKUP_READ_MANGA // SY <-- } } diff --git a/app/src/main/res/values/strings_sy.xml b/app/src/main/res/values/strings_sy.xml index bb53760a5..8f9ee1799 100644 --- a/app/src/main/res/values/strings_sy.xml +++ b/app/src/main/res/values/strings_sy.xml @@ -202,6 +202,7 @@ Custom manga info + All read manga Save Chapters as CBZ