Fix crash in BackupRepository

master
Koitharu 10 months ago
parent 80a30d059f
commit 1ddc32cbd4
Signed by: Koitharu
GPG Key ID: 676DEE768C17A9D7

@ -2,6 +2,7 @@ package org.koitharu.kotatsu.backups.data
import androidx.collection.ArrayMap import androidx.collection.ArrayMap
import androidx.room.withTransaction import androidx.room.withTransaction
import dagger.Reusable
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.FlowCollector import kotlinx.coroutines.flow.FlowCollector
import kotlinx.coroutines.flow.asFlow import kotlinx.coroutines.flow.asFlow
@ -19,7 +20,6 @@ import kotlinx.serialization.json.encodeToStream
import kotlinx.serialization.serializer import kotlinx.serialization.serializer
import org.json.JSONArray import org.json.JSONArray
import org.json.JSONObject import org.json.JSONObject
import org.koitharu.kotatsu.BuildConfig
import org.koitharu.kotatsu.backups.data.model.BackupIndex import org.koitharu.kotatsu.backups.data.model.BackupIndex
import org.koitharu.kotatsu.backups.data.model.BookmarkBackup import org.koitharu.kotatsu.backups.data.model.BookmarkBackup
import org.koitharu.kotatsu.backups.data.model.CategoryBackup import org.koitharu.kotatsu.backups.data.model.CategoryBackup
@ -41,6 +41,7 @@ import java.util.zip.ZipInputStream
import java.util.zip.ZipOutputStream import java.util.zip.ZipOutputStream
import javax.inject.Inject import javax.inject.Inject
@Reusable
class BackupRepository @Inject constructor( class BackupRepository @Inject constructor(
private val database: MangaDatabase, private val database: MangaDatabase,
private val settings: AppSettings, private val settings: AppSettings,
@ -51,14 +52,12 @@ class BackupRepository @Inject constructor(
allowSpecialFloatingPointValues = true allowSpecialFloatingPointValues = true
coerceInputValues = true coerceInputValues = true
ignoreUnknownKeys = true ignoreUnknownKeys = true
prettyPrint = BuildConfig.DEBUG
prettyPrintIndent = "\t"
useAlternativeNames = false useAlternativeNames = false
} }
suspend fun createBackup( suspend fun createBackup(
output: ZipOutputStream, output: ZipOutputStream,
progress: FlowCollector<Progress>? progress: FlowCollector<Progress>?,
) { ) {
progress?.emit(Progress.INDETERMINATE) progress?.emit(Progress.INDETERMINATE)
var commonProgress = Progress(0, BackupSection.entries.size) var commonProgress = Progress(0, BackupSection.entries.size)
@ -119,7 +118,7 @@ class BackupRepository @Inject constructor(
suspend fun restoreBackup( suspend fun restoreBackup(
input: ZipInputStream, input: ZipInputStream,
sections: Set<BackupSection>, sections: Set<BackupSection>,
progress: FlowCollector<Progress>? progress: FlowCollector<Progress>?,
): CompositeResult { ): CompositeResult {
progress?.emit(Progress.INDETERMINATE) progress?.emit(Progress.INDETERMINATE)
var commonProgress = Progress(0, sections.size) var commonProgress = Progress(0, sections.size)

Loading…
Cancel
Save