Support manga sources in backups

This commit is contained in:
Koitharu
2023-12-13 12:16:06 +02:00
parent bb2294f248
commit db3db4637c
8 changed files with 59 additions and 8 deletions

View File

@@ -69,6 +69,7 @@ class AppBackupAgent : BackupAgent() {
backup.put(repository.dumpCategories())
backup.put(repository.dumpFavourites())
backup.put(repository.dumpBookmarks())
backup.put(repository.dumpSources())
backup.put(repository.dumpSettings())
backup.finish()
backup.file
@@ -90,6 +91,7 @@ class AppBackupAgent : BackupAgent() {
backup.getEntry(BackupEntry.CATEGORIES)?.let { repository.restoreCategories(it) }
backup.getEntry(BackupEntry.FAVOURITES)?.let { repository.restoreFavourites(it) }
backup.getEntry(BackupEntry.BOOKMARKS)?.let { repository.restoreBookmarks(it) }
backup.getEntry(BackupEntry.SOURCES)?.let { repository.restoreSources(it) }
backup.getEntry(BackupEntry.SETTINGS)?.let { repository.restoreSettings(it) }
}
} finally {

View File

@@ -24,21 +24,25 @@ class BackupViewModel @Inject constructor(
init {
launchLoadingJob {
val file = BackupZipOutput(context).use { backup ->
val step = 1f / 6f
backup.put(repository.createIndex())
progress.value = 0f
backup.put(repository.dumpHistory())
progress.value = 0.2f
progress.value += step
backup.put(repository.dumpCategories())
progress.value = 0.4f
progress.value += step
backup.put(repository.dumpFavourites())
progress.value = 0.6f
progress.value += step
backup.put(repository.dumpBookmarks())
progress.value = 0.8f
progress.value += step
backup.put(repository.dumpSources())
progress.value += step
backup.put(repository.dumpSettings())
backup.finish()

View File

@@ -42,6 +42,7 @@ class PeriodicalBackupWorker @AssistedInject constructor(
backup.put(repository.dumpCategories())
backup.put(repository.dumpFavourites())
backup.put(repository.dumpBookmarks())
backup.put(repository.dumpSources())
backup.put(repository.dumpSettings())
backup.finish()
backup.file

View File

@@ -46,28 +46,34 @@ class RestoreViewModel @Inject constructor(
}
try {
val result = CompositeResult()
val step = 1f/6f
progress.value = 0f
backup.getEntry(BackupEntry.HISTORY)?.let {
result += repository.restoreHistory(it)
}
progress.value = 0.2f
progress.value += step
backup.getEntry(BackupEntry.CATEGORIES)?.let {
result += repository.restoreCategories(it)
}
progress.value = 0.4f
progress.value += step
backup.getEntry(BackupEntry.FAVOURITES)?.let {
result += repository.restoreFavourites(it)
}
progress.value = 0.6f
progress.value += step
backup.getEntry(BackupEntry.BOOKMARKS)?.let {
result += repository.restoreBookmarks(it)
}
progress.value = 0.8f
progress.value += step
backup.getEntry(BackupEntry.SOURCES)?.let {
result += repository.restoreSources(it)
}
progress.value += step
backup.getEntry(BackupEntry.SETTINGS)?.let {
result += repository.restoreSettings(it)
}