Foundations for partial restores

Related to #3136
This commit is contained in:
arkon
2023-12-21 22:16:42 -05:00
parent a51108cbe8
commit 83a67feb48
3 changed files with 78 additions and 14 deletions

View File

@@ -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.util.storage.DiskUtil
import eu.kanade.tachiyomi.util.system.DeviceUtil
@@ -249,7 +250,16 @@ 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,
),
)
onDismissRequest()
},
) {
@@ -283,7 +293,16 @@ 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,
),
)
return@rememberLauncherForActivityResult
}