Foundations for partial restores

Related to #3136

(cherry picked from commit 83a67feb48c4e40994a334520c907f71d2fbf75e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestorer.kt
This commit is contained in:
arkon
2023-12-21 22:16:42 -05:00
committed by Jobobby04
parent abf1cdb31b
commit 711ca69876
3 changed files with 105 additions and 15 deletions
@@ -40,6 +40,7 @@ import eu.kanade.presentation.util.relativeTimeSpanString
import eu.kanade.tachiyomi.data.backup.BackupFileValidator
import eu.kanade.tachiyomi.data.backup.create.BackupCreateJob
import eu.kanade.tachiyomi.data.backup.restore.BackupRestoreJob
import eu.kanade.tachiyomi.data.backup.restore.RestoreOptions
import eu.kanade.tachiyomi.data.cache.ChapterCache
import eu.kanade.tachiyomi.data.cache.PagePreviewCache
import eu.kanade.tachiyomi.util.storage.DiskUtil
@@ -251,7 +252,19 @@ object SettingsDataScreen : SearchableSettings {
confirmButton = {
TextButton(
onClick = {
BackupRestoreJob.start(context, err.uri)
BackupRestoreJob.start(
context = context,
uri = err.uri,
// TODO: allow user-selectable restore options
options = RestoreOptions(
appSettings = true,
sourceSettings = true,
library = true,
// SY -->
savedSearches = true,
// SY <--
),
)
onDismissRequest()
},
) {
@@ -285,7 +298,19 @@ object SettingsDataScreen : SearchableSettings {
}
if (results.missingSources.isEmpty() && results.missingTrackers.isEmpty()) {
BackupRestoreJob.start(context, it)
BackupRestoreJob.start(
context = context,
uri = it,
// TODO: allow user-selectable restore options
options = RestoreOptions(
appSettings = true,
sourceSettings = true,
library = true,
// SY -->
savedSearches = true,
// SY <--
),
)
return@rememberLauncherForActivityResult
}