feat: Add saved filters to backup and restore
This commit adds support for backing up and restoring saved filters. - Added a new `SAVED_FILTERS` section to the backup process. - Implemented the logic to read filters from SharedPreferences during backup and write them back during restore. - Fixed compilation errors in `AppBackupAgent` and `BackupSectionModel`.
This commit is contained in:
committed by
Koitharu
parent
dec45f7851
commit
6377de470d
@@ -12,6 +12,8 @@ import kotlinx.coroutines.runBlocking
|
|||||||
import org.koitharu.kotatsu.backups.data.BackupRepository
|
import org.koitharu.kotatsu.backups.data.BackupRepository
|
||||||
import org.koitharu.kotatsu.core.db.MangaDatabase
|
import org.koitharu.kotatsu.core.db.MangaDatabase
|
||||||
import org.koitharu.kotatsu.core.prefs.AppSettings
|
import org.koitharu.kotatsu.core.prefs.AppSettings
|
||||||
|
import org.koitharu.kotatsu.explore.data.MangaSourcesRepository
|
||||||
|
import org.koitharu.kotatsu.filter.data.SavedFiltersRepository
|
||||||
import org.koitharu.kotatsu.reader.data.TapGridSettings
|
import org.koitharu.kotatsu.reader.data.TapGridSettings
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.FileDescriptor
|
import java.io.FileDescriptor
|
||||||
@@ -39,9 +41,17 @@ class AppBackupAgent : BackupAgent() {
|
|||||||
val file = createBackupFile(
|
val file = createBackupFile(
|
||||||
this,
|
this,
|
||||||
BackupRepository(
|
BackupRepository(
|
||||||
MangaDatabase(context = applicationContext),
|
database = MangaDatabase(context = applicationContext),
|
||||||
AppSettings(applicationContext),
|
settings = AppSettings(applicationContext),
|
||||||
TapGridSettings(applicationContext),
|
tapGridSettings = TapGridSettings(applicationContext),
|
||||||
|
mangaSourcesRepository = MangaSourcesRepository(
|
||||||
|
context = applicationContext,
|
||||||
|
db = MangaDatabase(context = applicationContext),
|
||||||
|
settings = AppSettings(applicationContext),
|
||||||
|
),
|
||||||
|
savedFiltersRepository = SavedFiltersRepository(
|
||||||
|
context = applicationContext,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
try {
|
try {
|
||||||
@@ -67,6 +77,14 @@ class AppBackupAgent : BackupAgent() {
|
|||||||
database = MangaDatabase(applicationContext),
|
database = MangaDatabase(applicationContext),
|
||||||
settings = AppSettings(applicationContext),
|
settings = AppSettings(applicationContext),
|
||||||
tapGridSettings = TapGridSettings(applicationContext),
|
tapGridSettings = TapGridSettings(applicationContext),
|
||||||
|
mangaSourcesRepository = MangaSourcesRepository(
|
||||||
|
context = applicationContext,
|
||||||
|
db = MangaDatabase(context = applicationContext),
|
||||||
|
settings = AppSettings(applicationContext),
|
||||||
|
),
|
||||||
|
savedFiltersRepository = SavedFiltersRepository(
|
||||||
|
context = applicationContext,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
destination.delete()
|
destination.delete()
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ data class BackupSectionModel(
|
|||||||
BackupSection.SOURCES -> R.string.remote_sources
|
BackupSection.SOURCES -> R.string.remote_sources
|
||||||
BackupSection.SCROBBLING -> R.string.tracking
|
BackupSection.SCROBBLING -> R.string.tracking
|
||||||
BackupSection.STATS -> R.string.statistics
|
BackupSection.STATS -> R.string.statistics
|
||||||
|
BackupSection.SAVED_FILTERS -> R.string.saved_filters
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun areItemsTheSame(other: ListModel): Boolean {
|
override fun areItemsTheSame(other: ListModel): Boolean {
|
||||||
|
|||||||
Reference in New Issue
Block a user