Backup and restore bookmarks

This commit is contained in:
Koitharu
2023-07-18 14:27:14 +03:00
parent 967e8df7c9
commit fff77cf208
9 changed files with 93 additions and 7 deletions

View File

@@ -68,6 +68,7 @@ class AppBackupAgent : BackupAgent() {
backup.put(repository.dumpHistory())
backup.put(repository.dumpCategories())
backup.put(repository.dumpFavourites())
backup.put(repository.dumpBookmarks())
backup.put(repository.dumpSettings())
backup.finish()
backup.file
@@ -88,6 +89,7 @@ class AppBackupAgent : BackupAgent() {
backup.getEntry(BackupEntry.HISTORY)?.let { repository.restoreHistory(it) }
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.SETTINGS)?.let { repository.restoreSettings(it) }
}
} finally {

View File

@@ -29,13 +29,16 @@ class BackupViewModel @Inject constructor(
progress.value = 0f
backup.put(repository.dumpHistory())
progress.value = 0.25f
progress.value = 0.2f
backup.put(repository.dumpCategories())
progress.value = 0.5f
progress.value = 0.4f
backup.put(repository.dumpFavourites())
progress.value = 0.75f
progress.value = 0.6f
backup.put(repository.dumpBookmarks())
progress.value = 0.8f
backup.put(repository.dumpSettings())
backup.finish()

View File

@@ -22,7 +22,6 @@ import kotlin.math.roundToInt
@AndroidEntryPoint
class RestoreDialogFragment : AlertDialogFragment<DialogProgressBinding>() {
private val viewModel: RestoreViewModel by viewModels()
override fun onCreateViewBinding(

View File

@@ -52,17 +52,22 @@ class RestoreViewModel @Inject constructor(
result += repository.restoreHistory(it)
}
progress.value = 0.25f
progress.value = 0.2f
backup.getEntry(BackupEntry.CATEGORIES)?.let {
result += repository.restoreCategories(it)
}
progress.value = 0.5f
progress.value = 0.4f
backup.getEntry(BackupEntry.FAVOURITES)?.let {
result += repository.restoreFavourites(it)
}
progress.value = 0.75f
progress.value = 0.6f
backup.getEntry(BackupEntry.BOOKMARKS)?.let {
result += repository.restoreBookmarks(it)
}
progress.value = 0.8f
backup.getEntry(BackupEntry.SETTINGS)?.let {
result += repository.restoreSettings(it)
}