Files
TachiyomiSY/domain/src/main/java/tachiyomi/domain/library/model/LibraryDisplayMode.kt
T
arkon db2cf166b7 Bump dependencies
(cherry picked from commit ac306547a0ccd28f45882cba8e3b0138f6d6aedc)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	domain/src/main/java/tachiyomi/domain/category/interactor/CreateCategoryWithName.kt
#	gradle/libs.versions.toml
2023-08-12 13:19:48 -04:00

44 lines
1.3 KiB
Kotlin

package tachiyomi.domain.library.model
sealed class LibraryDisplayMode {
data object CompactGrid : LibraryDisplayMode()
data object ComfortableGrid : LibraryDisplayMode()
data object List : LibraryDisplayMode()
data object CoverOnlyGrid : LibraryDisplayMode()
object Serializer {
fun deserialize(serialized: String): LibraryDisplayMode {
return LibraryDisplayMode.deserialize(serialized)
}
fun serialize(value: LibraryDisplayMode): String {
return value.serialize()
}
}
companion object {
val values by lazy { setOf(CompactGrid, ComfortableGrid, List, CoverOnlyGrid) }
val default = CompactGrid
fun deserialize(serialized: String): LibraryDisplayMode {
return when (serialized) {
"COMFORTABLE_GRID" -> ComfortableGrid
"COMPACT_GRID" -> CompactGrid
"COVER_ONLY_GRID" -> CoverOnlyGrid
"LIST" -> List
else -> default
}
}
}
fun serialize(): String {
return when (this) {
ComfortableGrid -> "COMFORTABLE_GRID"
CompactGrid -> "COMPACT_GRID"
CoverOnlyGrid -> "COVER_ONLY_GRID"
List -> "LIST"
}
}
}