68 lines
2.4 KiB
Kotlin
68 lines
2.4 KiB
Kotlin
package ani.dantotsu.settings
|
|
|
|
import ani.dantotsu.settings.saving.PrefManager
|
|
import ani.dantotsu.settings.saving.PrefName
|
|
import java.io.Serializable
|
|
|
|
data class CurrentReaderSettings(
|
|
var direction: Directions = Directions[PrefManager.getVal(PrefName.Direction)]
|
|
?: Directions.TOP_TO_BOTTOM,
|
|
var layout: Layouts = Layouts[PrefManager.getVal(PrefName.LayoutReader)]
|
|
?: Layouts.CONTINUOUS,
|
|
var dualPageMode: DualPageModes = DualPageModes[PrefManager.getVal(PrefName.DualPageModeReader)]
|
|
?: DualPageModes.Automatic,
|
|
var overScrollMode: Boolean = PrefManager.getVal(PrefName.OverScrollMode),
|
|
var trueColors: Boolean = PrefManager.getVal(PrefName.TrueColors),
|
|
var rotation: Boolean = PrefManager.getVal(PrefName.Rotation),
|
|
var padding: Boolean = PrefManager.getVal(PrefName.Padding),
|
|
var hidePageNumbers: Boolean = PrefManager.getVal(PrefName.HidePageNumbers),
|
|
var horizontalScrollBar: Boolean = PrefManager.getVal(PrefName.HorizontalScrollBar),
|
|
var keepScreenOn: Boolean = PrefManager.getVal(PrefName.KeepScreenOn),
|
|
var volumeButtons: Boolean = PrefManager.getVal(PrefName.VolumeButtonsReader),
|
|
var wrapImages: Boolean = PrefManager.getVal(PrefName.WrapImages),
|
|
var longClickImage: Boolean = PrefManager.getVal(PrefName.LongClickImage),
|
|
var cropBorders: Boolean = PrefManager.getVal(PrefName.CropBorders),
|
|
var cropBorderThreshold: Int = PrefManager.getVal(PrefName.CropBorderThreshold)
|
|
) : Serializable {
|
|
|
|
enum class Directions {
|
|
TOP_TO_BOTTOM,
|
|
RIGHT_TO_LEFT,
|
|
BOTTOM_TO_TOP,
|
|
LEFT_TO_RIGHT;
|
|
|
|
companion object {
|
|
operator fun get(value: Int) = values().firstOrNull { it.ordinal == value }
|
|
}
|
|
}
|
|
|
|
enum class Layouts {
|
|
PAGED,
|
|
CONTINUOUS_PAGED,
|
|
CONTINUOUS;
|
|
|
|
companion object {
|
|
operator fun get(value: Int) = values().firstOrNull { it.ordinal == value }
|
|
}
|
|
}
|
|
|
|
enum class DualPageModes {
|
|
No, Automatic, Force;
|
|
|
|
companion object {
|
|
operator fun get(value: Int) = values().firstOrNull { it.ordinal == value }
|
|
}
|
|
}
|
|
|
|
companion object {
|
|
fun applyWebtoon(settings: CurrentReaderSettings) {
|
|
settings.apply {
|
|
layout = Layouts.CONTINUOUS
|
|
direction = Directions.TOP_TO_BOTTOM
|
|
dualPageMode = DualPageModes.No
|
|
padding = false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|