Add icons for reading mode toggle

(cherry picked from commit 609d8c9685)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
#	app/src/main/res/layout/reader_activity.xml
This commit is contained in:
arkon
2021-03-14 17:13:20 -04:00
committed by Jobobby04
parent 781f4e393e
commit 7b01f0c608
9 changed files with 111 additions and 13 deletions
@@ -462,7 +462,7 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
}
/*binding.actionReaderMode.setOnClickListener {
val newReadingMode = ReadingModeType.getNextReadingMode(presenter.manga?.viewer ?: 0)
val newReadingMode = ReadingModeType.getNextReadingMode(presenter.getMangaViewer(resolveDefault = false))
presenter.setMangaViewer(newReadingMode.prefValue)
menuToggleToast?.cancel()
@@ -806,12 +806,16 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
*/
fun setManga(manga: Manga) {
val prevViewer = viewer
/*val viewerMode = ReadingModeType.fromPreference(presenter.getMangaViewer(resolveDefault = false))
binding.actionReaderMode.setImageResource(viewerMode.iconRes)*/
val newViewer = when (presenter.getMangaViewer()) {
ReadingModeType.RIGHT_TO_LEFT.prefValue -> R2LPagerViewer(this)
ReadingModeType.LEFT_TO_RIGHT.prefValue -> L2RPagerViewer(this)
ReadingModeType.VERTICAL.prefValue -> VerticalPagerViewer(this)
ReadingModeType.WEBTOON.prefValue -> WebtoonViewer(this)
ReadingModeType.CONTINUOUS_VERTICAL.prefValue -> WebtoonViewer(this, isContinuous = false /* SY --> */, tapByPage = preferences.continuousVerticalTappingByPage().get() /* SY <-- */)
else -> L2RPagerViewer(this)
else -> R2LPagerViewer(this)
}
// Destroy previous viewer if there was one
@@ -594,12 +594,12 @@ class ReaderPresenter(
/**
* Returns the viewer position used by this manga or the default one.
*/
fun getMangaViewer(): Int {
fun getMangaViewer(resolveDefault: Boolean = true): Int {
val manga = manga ?: return preferences.defaultViewer()
// SY -->
return if (manga.viewer == 0 && preferences.useAutoWebtoon().get()) {
return if (resolveDefault && manga.viewer == 0 && preferences.useAutoWebtoon().get()) {
manga.defaultReaderType(manga.mangaType(sourceName = sourceManager.getOrStub(manga.source).name)) ?: if (manga.viewer == 0) preferences.defaultViewer() else manga.viewer
} else if (manga.viewer == 0) {
} else if (resolveDefault && manga.viewer == 0) {
preferences.defaultViewer()
} else {
manga.viewer
@@ -1,16 +1,17 @@
package eu.kanade.tachiyomi.ui.reader.setting
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.util.lang.next
enum class ReadingModeType(val prefValue: Int, @StringRes val stringRes: Int) {
DEFAULT(0, R.string.default_viewer),
LEFT_TO_RIGHT(1, R.string.left_to_right_viewer),
RIGHT_TO_LEFT(2, R.string.right_to_left_viewer),
VERTICAL(3, R.string.vertical_viewer),
WEBTOON(4, R.string.webtoon_viewer),
CONTINUOUS_VERTICAL(5, R.string.vertical_plus_viewer),
enum class ReadingModeType(val prefValue: Int, @StringRes val stringRes: Int, @DrawableRes val iconRes: Int) {
DEFAULT(0, R.string.default_viewer, R.drawable.ic_reader_default_24dp),
LEFT_TO_RIGHT(1, R.string.left_to_right_viewer, R.drawable.ic_reader_ltr_24dp),
RIGHT_TO_LEFT(2, R.string.right_to_left_viewer, R.drawable.ic_reader_rtl_24dp),
VERTICAL(3, R.string.vertical_viewer, R.drawable.ic_reader_vertical_24dp),
WEBTOON(4, R.string.webtoon_viewer, R.drawable.ic_reader_webtoon_24dp),
CONTINUOUS_VERTICAL(5, R.string.vertical_plus_viewer, R.drawable.ic_reader_continuous_vertical_24dp),
;
companion object {