From 2797ea6a99805134b7dd5fd9f99da81fd6bf566c Mon Sep 17 00:00:00 2001 From: Koitharu Date: Sun, 22 Jun 2025 18:35:03 +0300 Subject: [PATCH] Fix backup backward compatibility --- .../org/koitharu/kotatsu/backups/data/BackupRepository.kt | 1 + .../org/koitharu/kotatsu/backups/ui/backup/BackupService.kt | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/backups/data/BackupRepository.kt b/app/src/main/kotlin/org/koitharu/kotatsu/backups/data/BackupRepository.kt index a92f2a7a7..3c6a089f5 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/backups/data/BackupRepository.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/backups/data/BackupRepository.kt @@ -51,6 +51,7 @@ class BackupRepository @Inject constructor( private val json = Json { allowSpecialFloatingPointValues = true coerceInputValues = true + encodeDefaults = true ignoreUnknownKeys = true useAlternativeNames = false } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/backups/ui/backup/BackupService.kt b/app/src/main/kotlin/org/koitharu/kotatsu/backups/ui/backup/BackupService.kt index 30a8129fe..122cc213d 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/backups/ui/backup/BackupService.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/backups/ui/backup/BackupService.kt @@ -6,13 +6,16 @@ import android.content.Context import android.content.Intent import android.content.pm.ServiceInfo import android.net.Uri +import android.widget.Toast import androidx.annotation.CheckResult import androidx.core.app.NotificationCompat import androidx.core.content.ContextCompat import dagger.hilt.android.AndroidEntryPoint +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.cancelAndJoin import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import org.koitharu.kotatsu.R import org.koitharu.kotatsu.backups.data.BackupRepository import org.koitharu.kotatsu.backups.ui.BaseBackupRestoreService @@ -64,6 +67,9 @@ class BackupService : BaseBackupRestoreService() { progressUpdateJob?.cancelAndJoin() contentResolver.notifyChange(destination, null) showResultNotification(destination, CompositeResult.success()) + withContext(Dispatchers.Main) { + Toast.makeText(this@BackupService, R.string.backup_saved, Toast.LENGTH_SHORT).show() + } } }