diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt index 7468fc1e3..2522c87d8 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt @@ -462,7 +462,7 @@ class ReaderActivity : BaseRxActivity() } /*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() */ 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 diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt index 0e4e08d95..a4197bf34 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt @@ -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 diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReadingModeType.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReadingModeType.kt index 3fd795fab..7e54c74c7 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReadingModeType.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReadingModeType.kt @@ -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 { diff --git a/app/src/main/res/drawable/ic_reader_continuous_vertical_24dp.xml b/app/src/main/res/drawable/ic_reader_continuous_vertical_24dp.xml new file mode 100644 index 000000000..7997bba7b --- /dev/null +++ b/app/src/main/res/drawable/ic_reader_continuous_vertical_24dp.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_reader_default_24dp.xml b/app/src/main/res/drawable/ic_reader_default_24dp.xml new file mode 100644 index 000000000..3ec2d7598 --- /dev/null +++ b/app/src/main/res/drawable/ic_reader_default_24dp.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_reader_ltr_24dp.xml b/app/src/main/res/drawable/ic_reader_ltr_24dp.xml new file mode 100644 index 000000000..2c44474e9 --- /dev/null +++ b/app/src/main/res/drawable/ic_reader_ltr_24dp.xml @@ -0,0 +1,21 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reader_rtl_24dp.xml b/app/src/main/res/drawable/ic_reader_rtl_24dp.xml new file mode 100644 index 000000000..bce2932fc --- /dev/null +++ b/app/src/main/res/drawable/ic_reader_rtl_24dp.xml @@ -0,0 +1,21 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reader_vertical_24dp.xml b/app/src/main/res/drawable/ic_reader_vertical_24dp.xml new file mode 100644 index 000000000..def93b2c2 --- /dev/null +++ b/app/src/main/res/drawable/ic_reader_vertical_24dp.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_reader_webtoon_24dp.xml b/app/src/main/res/drawable/ic_reader_webtoon_24dp.xml new file mode 100644 index 000000000..b7683822d --- /dev/null +++ b/app/src/main/res/drawable/ic_reader_webtoon_24dp.xml @@ -0,0 +1,12 @@ + + + +