Преглед на файлове

Don't save categories in backup if not selected (#7101)

Currently, manually created backups contain list of categories even if
Categories option is not selected during Backup Prompt. This leads to
empty categories being created when restoring such backup files

This commit adds a check before saving categories list info to the
backup file. The check is the same check which is used while backing up
category info of manga in library

Tested and worked successfully on app installed on Android 12
nicki преди 2 години
родител
ревизия
11c01235ac
променени са 1 файла, в които са добавени 10 реда и са изтрити 5 реда
  1. 10 5
      app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt

+ 10 - 5
app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt

@@ -55,7 +55,7 @@ class FullBackupManager(context: Context) : AbstractBackupManager(context) {
 
             backup = Backup(
                 backupManga(databaseManga, flags),
-                backupCategories(),
+                backupCategories(flags),
                 emptyList(),
                 backupExtensionInfo(databaseManga),
             )
@@ -133,10 +133,15 @@ class FullBackupManager(context: Context) : AbstractBackupManager(context) {
      *
      * @return list of [BackupCategory] to be backed up
      */
-    private fun backupCategories(): List<BackupCategory> {
-        return databaseHelper.getCategories()
-            .executeAsBlocking()
-            .map { BackupCategory.copyFrom(it) }
+    private fun backupCategories(options: Int): List<BackupCategory> {
+        // Check if user wants category information in backup
+        return if (options and BACKUP_CATEGORY_MASK == BACKUP_CATEGORY) {
+            databaseHelper.getCategories()
+                .executeAsBlocking()
+                .map { BackupCategory.copyFrom(it) }
+        } else {
+            emptyList()
+        }
     }
 
     /**