mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
feat: Allow user to disable library backup (from composable data settings)
This commit is contained in:
parent
fd84ba9208
commit
7caa15bb94
5 changed files with 21 additions and 16 deletions
|
@ -59,17 +59,11 @@ class BackupCreator(
|
|||
|
||||
backup = Backup(
|
||||
mangaBackupCreator.backupMangas(databaseManga, options),
|
||||
categoriesBackupCreator.backupCategories(),
|
||||
categoriesBackupCreator.backupCategories(options),
|
||||
emptyList(),
|
||||
sourcesBackupCreator.backupExtensionInfo(databaseManga),
|
||||
|
||||
if (options.appPrefs)
|
||||
preferenceBackupCreator.backupAppPreferences(options.includePrivate)
|
||||
else emptyList(),
|
||||
|
||||
if (options.sourcePrefs)
|
||||
preferenceBackupCreator.backupSourcePreferences(options.includePrivate)
|
||||
else emptyList(),
|
||||
sourcesBackupCreator.backupExtensionInfo(databaseManga, options),
|
||||
preferenceBackupCreator.backupAppPreferences(options),
|
||||
preferenceBackupCreator.backupSourcePreferences(options),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package eu.kanade.tachiyomi.data.backup.create.creators
|
||||
|
||||
import eu.kanade.tachiyomi.data.backup.create.BackupOptions
|
||||
import eu.kanade.tachiyomi.data.backup.models.BackupCategory
|
||||
import eu.kanade.tachiyomi.data.database.DatabaseHelper
|
||||
import uy.kohesive.injekt.Injekt
|
||||
|
@ -13,7 +14,9 @@ class CategoriesBackupCreator(
|
|||
*
|
||||
* @return list of [BackupCategory] to be backed up
|
||||
*/
|
||||
fun backupCategories(): List<BackupCategory> {
|
||||
fun backupCategories(options: BackupOptions): List<BackupCategory> {
|
||||
if (!options.libraryEntries) return emptyList()
|
||||
|
||||
return db.getCategories()
|
||||
.executeAsBlocking()
|
||||
.map { BackupCategory.copyFrom(it) }
|
||||
|
|
|
@ -16,6 +16,8 @@ class MangaBackupCreator(
|
|||
private val customMangaManager: CustomMangaManager = Injekt.get(),
|
||||
) {
|
||||
fun backupMangas(mangas: List<Manga>, options: BackupOptions): List<BackupManga> {
|
||||
if (!options.libraryEntries) return emptyList()
|
||||
|
||||
return mangas.map {
|
||||
backupManga(it, options)
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package eu.kanade.tachiyomi.data.backup.create.creators
|
|||
|
||||
import eu.kanade.tachiyomi.core.preference.Preference
|
||||
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
||||
import eu.kanade.tachiyomi.data.backup.create.BackupOptions
|
||||
import eu.kanade.tachiyomi.data.backup.models.BackupPreference
|
||||
import eu.kanade.tachiyomi.data.backup.models.BackupSourcePreferences
|
||||
import eu.kanade.tachiyomi.data.backup.models.BooleanPreferenceValue
|
||||
|
@ -22,19 +23,21 @@ class PreferenceBackupCreator(
|
|||
private val sourceManager: SourceManager = Injekt.get(),
|
||||
private val preferenceStore: PreferenceStore = Injekt.get(),
|
||||
) {
|
||||
fun backupAppPreferences(includePrivate: Boolean): List<BackupPreference> {
|
||||
fun backupAppPreferences(options: BackupOptions): List<BackupPreference> {
|
||||
if (!options.appPrefs) return emptyList()
|
||||
return preferenceStore.getAll().toBackupPreferences()
|
||||
.withPrivatePreferences(includePrivate)
|
||||
.withPrivatePreferences(options.includePrivate)
|
||||
}
|
||||
|
||||
fun backupSourcePreferences(includePrivate: Boolean): List<BackupSourcePreferences> {
|
||||
fun backupSourcePreferences(options: BackupOptions): List<BackupSourcePreferences> {
|
||||
if (!options.sourcePrefs) return emptyList()
|
||||
return sourceManager.getOnlineSources()
|
||||
.filterIsInstance<ConfigurableSource>()
|
||||
.map {
|
||||
BackupSourcePreferences(
|
||||
it.preferenceKey(),
|
||||
it.sourcePreferences().all.toBackupPreferences()
|
||||
.withPrivatePreferences(includePrivate),
|
||||
.withPrivatePreferences(options.includePrivate),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package eu.kanade.tachiyomi.data.backup.create.creators
|
||||
|
||||
import eu.kanade.tachiyomi.data.backup.create.BackupOptions
|
||||
import eu.kanade.tachiyomi.data.backup.models.BackupSource
|
||||
import eu.kanade.tachiyomi.data.database.models.Manga
|
||||
import eu.kanade.tachiyomi.source.SourceManager
|
||||
|
@ -9,7 +10,9 @@ import uy.kohesive.injekt.api.get
|
|||
class SourcesBackupCreator(
|
||||
private val sourceManager: SourceManager = Injekt.get(),
|
||||
) {
|
||||
fun backupExtensionInfo(mangas: List<Manga>): List<BackupSource> {
|
||||
fun backupExtensionInfo(mangas: List<Manga>, options: BackupOptions): List<BackupSource> {
|
||||
if (!options.libraryEntries) return emptyList()
|
||||
|
||||
return mangas
|
||||
.asSequence()
|
||||
.map { it.source }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue