diff --git a/app/src/main/java/eu/kanade/presentation/reader/BottomReaderBar.kt b/app/src/main/java/eu/kanade/presentation/reader/BottomReaderBar.kt index 1b448ac20..5525a60b6 100644 --- a/app/src/main/java/eu/kanade/presentation/reader/BottomReaderBar.kt +++ b/app/src/main/java/eu/kanade/presentation/reader/BottomReaderBar.kt @@ -125,7 +125,7 @@ fun BottomReaderBar( if ( !dualPageSplitEnabled && ReaderBottomButton.PageLayout.isIn(enabledButtons) && - ReadingModeType.isPagerType(readingMode.prefValue) + ReadingModeType.isPagerType(readingMode.flagValue) ) { IconButton(onClick = onClickPageLayout) { Icon( 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 52e22791c..ee786e489 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 @@ -474,13 +474,16 @@ class ReaderActivity : BaseActivity() { binding.pageNumber.setComposeContent { val state by viewModel.state.collectAsState() + val showPageNumber by viewModel.readerPreferences.showPageNumber().collectAsState() - PageIndicatorText( - // SY --> - currentPage = state.currentPageText, - // SY <-- - totalPages = state.totalPages, - ) + if (!state.menuVisible && showPageNumber) { + PageIndicatorText( + // SY --> + currentPage = state.currentPageText, + // SY <-- + totalPages = state.totalPages, + ) + } } binding.dialogRoot.setComposeContent { @@ -634,7 +637,7 @@ class ReaderActivity : BaseActivity() { val cropBorderContinuousVertical by readerPreferences.cropBordersContinuousVertical().collectAsState() val readingMode = viewModel.getMangaReadingMode() val isPagerType = ReadingModeType.isPagerType(readingMode) - val isWebtoon = ReadingModeType.WEBTOON.prefValue == readingMode + val isWebtoon = ReadingModeType.WEBTOON.flagValue == readingMode val cropEnabled = if (isPagerType) { cropBorderPaged } else if (isWebtoon) { @@ -974,10 +977,6 @@ class ReaderActivity : BaseActivity() { bottomAnimation.applySystemAnimatorScale(this) binding.readerMenuBottom.startAnimation(bottomAnimation) } - - if (readerPreferences.showPageNumber().get()) { - config?.setPageNumberVisibility(false) - } } else { if (readerPreferences.fullscreen().get()) { windowInsetsController.hide(WindowInsetsCompat.Type.systemBars()) @@ -1010,10 +1009,6 @@ class ReaderActivity : BaseActivity() { bottomAnimation.applySystemAnimatorScale(this) binding.readerMenuBottom.startAnimation(bottomAnimation) } - - if (readerPreferences.showPageNumber().get()) { - config?.setPageNumberVisibility(true) - } } } @@ -1052,7 +1047,7 @@ class ReaderActivity : BaseActivity() { } val defaultReaderType = manga.defaultReaderType(manga.mangaType(sourceName = sourceManager.get(manga.source)?.name)) - if (readerPreferences.useAutoWebtoon().get() && manga.readingModeType.toInt() == ReadingModeType.DEFAULT.flagValue && defaultReaderType != null && defaultReaderType == ReadingModeType.WEBTOON.prefValue) { + if (readerPreferences.useAutoWebtoon().get() && manga.readingModeType.toInt() == ReadingModeType.DEFAULT.flagValue && defaultReaderType != null && defaultReaderType == ReadingModeType.WEBTOON.flagValue) { readingModeToast?.cancel() readingModeToast = toast(resources.getString(R.string.eh_auto_webtoon_snack)) } else if (readerPreferences.showReadingMode().get()) { @@ -1095,9 +1090,8 @@ class ReaderActivity : BaseActivity() { private fun showReadingModeToast(mode: Int) { try { - val strings = resources.getStringArray(R.array.viewers_selector) readingModeToast?.cancel() - readingModeToast = toast(strings[mode]) + readingModeToast = toast(ReadingModeType.fromPreference(mode).stringRes) } catch (e: ArrayIndexOutOfBoundsException) { logcat(LogPriority.ERROR) { "Unknown reading mode: $mode" } } @@ -1390,10 +1384,6 @@ class ReaderActivity : BaseActivity() { } .launchIn(lifecycleScope) - readerPreferences.showPageNumber().changes() - .onEach(::setPageNumberVisibility) - .launchIn(lifecycleScope) - readerPreferences.trueColor().changes() .onEach(::setTrueColor) .launchIn(lifecycleScope) @@ -1472,13 +1462,6 @@ class ReaderActivity : BaseActivity() { } } - /** - * Sets the visibility of the bottom page indicator according to [visible]. - */ - fun setPageNumberVisibility(visible: Boolean) { - binding.pageNumber.isVisible = visible - } - /** * Sets the 32-bit color mode according to [enabled]. */ diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt index 695b952af..724c46083 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt @@ -609,7 +609,7 @@ class ReaderViewModel @JvmOverloads constructor( if ( readerChapter.pages?.lastIndex == pageIndex || (hasExtraPage && readerChapter.pages?.lastIndex?.minus(1) == page.index) - ) { + ) { // SY <-- readerChapter.chapter.read = true // SY --> @@ -819,7 +819,7 @@ class ReaderViewModel @JvmOverloads constructor( fun toggleCropBorders(): Boolean { val readingMode = getMangaReadingMode() val isPagerType = ReadingModeType.isPagerType(readingMode) - val isWebtoon = ReadingModeType.WEBTOON.prefValue == readingMode + val isWebtoon = ReadingModeType.WEBTOON.flagValue == readingMode return if (isPagerType) { readerPreferences.cropBorders().toggle() } else if (isWebtoon) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/OrientationType.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/OrientationType.kt index bf5135153..3650038f5 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/OrientationType.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/OrientationType.kt @@ -5,14 +5,14 @@ import androidx.annotation.DrawableRes import androidx.annotation.StringRes import eu.kanade.tachiyomi.R -enum class OrientationType(val prefValue: Int, val flag: Int, @StringRes val stringRes: Int, @DrawableRes val iconRes: Int, val flagValue: Int) { - DEFAULT(0, ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED, R.string.label_default, R.drawable.ic_screen_rotation_24dp, 0x00000000), - FREE(1, ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED, R.string.rotation_free, R.drawable.ic_screen_rotation_24dp, 0x00000008), - PORTRAIT(2, ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT, R.string.rotation_portrait, R.drawable.ic_stay_current_portrait_24dp, 0x00000010), - LANDSCAPE(3, ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE, R.string.rotation_landscape, R.drawable.ic_stay_current_landscape_24dp, 0x00000018), - LOCKED_PORTRAIT(4, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT, R.string.rotation_force_portrait, R.drawable.ic_screen_lock_portrait_24dp, 0x00000020), - LOCKED_LANDSCAPE(5, ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE, R.string.rotation_force_landscape, R.drawable.ic_screen_lock_landscape_24dp, 0x00000028), - REVERSE_PORTRAIT(6, ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT, R.string.rotation_reverse_portrait, R.drawable.ic_stay_current_portrait_24dp, 0x00000030), +enum class OrientationType(val flag: Int, @StringRes val stringRes: Int, @DrawableRes val iconRes: Int, val flagValue: Int) { + DEFAULT(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED, R.string.label_default, R.drawable.ic_screen_rotation_24dp, 0x00000000), + FREE(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED, R.string.rotation_free, R.drawable.ic_screen_rotation_24dp, 0x00000008), + PORTRAIT(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT, R.string.rotation_portrait, R.drawable.ic_stay_current_portrait_24dp, 0x00000010), + LANDSCAPE(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE, R.string.rotation_landscape, R.drawable.ic_stay_current_landscape_24dp, 0x00000018), + LOCKED_PORTRAIT(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT, R.string.rotation_force_portrait, R.drawable.ic_screen_lock_portrait_24dp, 0x00000020), + LOCKED_LANDSCAPE(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE, R.string.rotation_force_landscape, R.drawable.ic_screen_lock_landscape_24dp, 0x00000028), + REVERSE_PORTRAIT(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT, R.string.rotation_reverse_portrait, R.drawable.ic_stay_current_portrait_24dp, 0x00000030), ; companion object { 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 e3f3b38b7..2bce0735b 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 @@ -10,13 +10,13 @@ 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.label_default, R.drawable.ic_reader_default_24dp, 0x00000000), - LEFT_TO_RIGHT(1, R.string.left_to_right_viewer, R.drawable.ic_reader_ltr_24dp, 0x00000001), - RIGHT_TO_LEFT(2, R.string.right_to_left_viewer, R.drawable.ic_reader_rtl_24dp, 0x00000002), - VERTICAL(3, R.string.vertical_viewer, R.drawable.ic_reader_vertical_24dp, 0x00000003), - WEBTOON(4, R.string.webtoon_viewer, R.drawable.ic_reader_webtoon_24dp, 0x00000004), - CONTINUOUS_VERTICAL(5, R.string.vertical_plus_viewer, R.drawable.ic_reader_continuous_vertical_24dp, 0x00000005), +enum class ReadingModeType(@StringRes val stringRes: Int, @DrawableRes val iconRes: Int, val flagValue: Int) { + DEFAULT(R.string.label_default, R.drawable.ic_reader_default_24dp, 0x00000000), + LEFT_TO_RIGHT(R.string.left_to_right_viewer, R.drawable.ic_reader_ltr_24dp, 0x00000001), + RIGHT_TO_LEFT(R.string.right_to_left_viewer, R.drawable.ic_reader_rtl_24dp, 0x00000002), + VERTICAL(R.string.vertical_viewer, R.drawable.ic_reader_vertical_24dp, 0x00000003), + WEBTOON(R.string.webtoon_viewer, R.drawable.ic_reader_webtoon_24dp, 0x00000004), + CONTINUOUS_VERTICAL(R.string.vertical_plus_viewer, R.drawable.ic_reader_continuous_vertical_24dp, 0x00000005), ; companion object { diff --git a/app/src/main/java/exh/util/MangaType.kt b/app/src/main/java/exh/util/MangaType.kt index d34803945..1f5d4611f 100644 --- a/app/src/main/java/exh/util/MangaType.kt +++ b/app/src/main/java/exh/util/MangaType.kt @@ -54,7 +54,7 @@ fun Manga.mangaType(sourceName: String? = Injekt.get().get(source */ fun Manga.defaultReaderType(type: MangaType = mangaType()): Int? { return if (type == MangaType.TYPE_MANHWA || type == MangaType.TYPE_WEBTOON) { - ReadingModeType.WEBTOON.prefValue + ReadingModeType.WEBTOON.flagValue } else { null } diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml deleted file mode 100755 index 11d827db9..000000000 --- a/app/src/main/res/values/arrays.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - @string/label_default - @string/left_to_right_viewer - @string/right_to_left_viewer - @string/vertical_viewer - @string/webtoon_viewer - @string/vertical_plus_viewer - - - - @string/label_default - @string/rotation_free - @string/rotation_portrait - @string/rotation_landscape - @string/rotation_force_portrait - @string/rotation_force_landscape - @string/rotation_reverse_portrait - -