|
|
|
@ -3,6 +3,12 @@ package eu.kanade.tachiyomi.ui.reader.setting
|
|
|
|
|
import androidx.annotation.DrawableRes
|
|
|
|
|
import androidx.annotation.StringRes
|
|
|
|
|
import eu.kanade.tachiyomi.R
|
|
|
|
|
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
|
|
|
|
|
import eu.kanade.tachiyomi.ui.reader.viewer.BaseViewer
|
|
|
|
|
import eu.kanade.tachiyomi.ui.reader.viewer.pager.L2RPagerViewer
|
|
|
|
|
import eu.kanade.tachiyomi.ui.reader.viewer.pager.R2LPagerViewer
|
|
|
|
|
import eu.kanade.tachiyomi.ui.reader.viewer.pager.VerticalPagerViewer
|
|
|
|
|
import eu.kanade.tachiyomi.ui.reader.viewer.webtoon.WebtoonViewer
|
|
|
|
|
|
|
|
|
|
enum class ReadingModeType(val prefValue: Int, @StringRes val stringRes: Int, @DrawableRes val iconRes: Int, val flagValue: Int) {
|
|
|
|
|
DEFAULT(0, R.string.default_viewer, R.drawable.ic_reader_default_24dp, 0x00000000),
|
|
|
|
@ -24,5 +30,16 @@ enum class ReadingModeType(val prefValue: Int, @StringRes val stringRes: Int, @D
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fun fromSpinner(position: Int?) = values().find { value -> value.prefValue == position } ?: DEFAULT
|
|
|
|
|
|
|
|
|
|
fun toViewer(preference: Int?, activity: ReaderActivity): BaseViewer {
|
|
|
|
|
return when (fromPreference(preference)) {
|
|
|
|
|
LEFT_TO_RIGHT -> L2RPagerViewer(activity)
|
|
|
|
|
RIGHT_TO_LEFT -> R2LPagerViewer(activity)
|
|
|
|
|
VERTICAL -> VerticalPagerViewer(activity)
|
|
|
|
|
WEBTOON -> WebtoonViewer(activity)
|
|
|
|
|
CONTINUOUS_VERTICAL -> WebtoonViewer(activity, isContinuous = false)
|
|
|
|
|
DEFAULT -> throw IllegalStateException("Preference value must be resolved: $preference")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|