parent
8b65fd5751
commit
8735836498
@ -1,17 +0,0 @@
|
||||
package eu.kanade.tachiyomi.data.backup.create
|
||||
|
||||
internal object BackupCreateFlags {
|
||||
const val BACKUP_CATEGORY = 0x1
|
||||
const val BACKUP_CHAPTER = 0x2
|
||||
const val BACKUP_HISTORY = 0x4
|
||||
const val BACKUP_TRACK = 0x8
|
||||
const val BACKUP_APP_PREFS = 0x10
|
||||
const val BACKUP_SOURCE_PREFS = 0x20
|
||||
|
||||
const val AutomaticDefaults = BACKUP_CATEGORY or
|
||||
BACKUP_CHAPTER or
|
||||
BACKUP_HISTORY or
|
||||
BACKUP_TRACK or
|
||||
BACKUP_APP_PREFS or
|
||||
BACKUP_SOURCE_PREFS
|
||||
}
|
@ -0,0 +1,86 @@
|
||||
package eu.kanade.tachiyomi.data.backup.create
|
||||
|
||||
import dev.icerock.moko.resources.StringResource
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
import tachiyomi.i18n.MR
|
||||
|
||||
data class BackupOptions(
|
||||
val libraryEntries: Boolean = true,
|
||||
val categories: Boolean = true,
|
||||
val chapters: Boolean = true,
|
||||
val tracking: Boolean = true,
|
||||
val history: Boolean = true,
|
||||
val appSettings: Boolean = true,
|
||||
val sourceSettings: Boolean = true,
|
||||
) {
|
||||
fun toBooleanArray() = booleanArrayOf(
|
||||
libraryEntries,
|
||||
categories,
|
||||
chapters,
|
||||
tracking,
|
||||
history,
|
||||
appSettings,
|
||||
sourceSettings,
|
||||
)
|
||||
|
||||
companion object {
|
||||
val AutomaticDefaults = BackupOptions(
|
||||
libraryEntries = true,
|
||||
categories = true,
|
||||
chapters = true,
|
||||
tracking = true,
|
||||
history = true,
|
||||
appSettings = true,
|
||||
sourceSettings = true,
|
||||
)
|
||||
|
||||
fun fromBooleanArray(booleanArray: BooleanArray) = BackupOptions(
|
||||
libraryEntries = booleanArray[0],
|
||||
categories = booleanArray[1],
|
||||
chapters = booleanArray[2],
|
||||
tracking = booleanArray[3],
|
||||
history = booleanArray[4],
|
||||
appSettings = booleanArray[5],
|
||||
sourceSettings = booleanArray[6],
|
||||
)
|
||||
|
||||
val entries = persistentListOf<BackupOptionEntry>(
|
||||
BackupOptionEntry(
|
||||
label = MR.strings.categories,
|
||||
getter = BackupOptions::categories,
|
||||
setter = { options, enabled -> options.copy(categories = enabled) },
|
||||
),
|
||||
BackupOptionEntry(
|
||||
label = MR.strings.chapters,
|
||||
getter = BackupOptions::chapters,
|
||||
setter = { options, enabled -> options.copy(chapters = enabled) },
|
||||
),
|
||||
BackupOptionEntry(
|
||||
label = MR.strings.track,
|
||||
getter = BackupOptions::tracking,
|
||||
setter = { options, enabled -> options.copy(tracking = enabled) },
|
||||
),
|
||||
BackupOptionEntry(
|
||||
label = MR.strings.history,
|
||||
getter = BackupOptions::history,
|
||||
setter = { options, enabled -> options.copy(history = enabled) },
|
||||
),
|
||||
BackupOptionEntry(
|
||||
label = MR.strings.app_settings,
|
||||
getter = BackupOptions::appSettings,
|
||||
setter = { options, enabled -> options.copy(appSettings = enabled) },
|
||||
),
|
||||
BackupOptionEntry(
|
||||
label = MR.strings.source_settings,
|
||||
getter = BackupOptions::sourceSettings,
|
||||
setter = { options, enabled -> options.copy(sourceSettings = enabled) },
|
||||
),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
data class BackupOptionEntry(
|
||||
val label: StringResource,
|
||||
val getter: (BackupOptions) -> Boolean,
|
||||
val setter: (BackupOptions, Boolean) -> BackupOptions,
|
||||
)
|
Loading…
Reference in new issue