Minor reader cleanup
(cherry picked from commit 3ebf39bd55cffbf5dc4bfe1c39e91aa22fa93777) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt # app/src/main/res/values/arrays.xml
This commit is contained in:
parent
fa80257af8
commit
71e0a02003
@ -125,7 +125,7 @@ fun BottomReaderBar(
|
|||||||
if (
|
if (
|
||||||
!dualPageSplitEnabled &&
|
!dualPageSplitEnabled &&
|
||||||
ReaderBottomButton.PageLayout.isIn(enabledButtons) &&
|
ReaderBottomButton.PageLayout.isIn(enabledButtons) &&
|
||||||
ReadingModeType.isPagerType(readingMode.prefValue)
|
ReadingModeType.isPagerType(readingMode.flagValue)
|
||||||
) {
|
) {
|
||||||
IconButton(onClick = onClickPageLayout) {
|
IconButton(onClick = onClickPageLayout) {
|
||||||
Icon(
|
Icon(
|
||||||
|
@ -474,13 +474,16 @@ class ReaderActivity : BaseActivity() {
|
|||||||
|
|
||||||
binding.pageNumber.setComposeContent {
|
binding.pageNumber.setComposeContent {
|
||||||
val state by viewModel.state.collectAsState()
|
val state by viewModel.state.collectAsState()
|
||||||
|
val showPageNumber by viewModel.readerPreferences.showPageNumber().collectAsState()
|
||||||
|
|
||||||
PageIndicatorText(
|
if (!state.menuVisible && showPageNumber) {
|
||||||
// SY -->
|
PageIndicatorText(
|
||||||
currentPage = state.currentPageText,
|
// SY -->
|
||||||
// SY <--
|
currentPage = state.currentPageText,
|
||||||
totalPages = state.totalPages,
|
// SY <--
|
||||||
)
|
totalPages = state.totalPages,
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.dialogRoot.setComposeContent {
|
binding.dialogRoot.setComposeContent {
|
||||||
@ -634,7 +637,7 @@ class ReaderActivity : BaseActivity() {
|
|||||||
val cropBorderContinuousVertical by readerPreferences.cropBordersContinuousVertical().collectAsState()
|
val cropBorderContinuousVertical by readerPreferences.cropBordersContinuousVertical().collectAsState()
|
||||||
val readingMode = viewModel.getMangaReadingMode()
|
val readingMode = viewModel.getMangaReadingMode()
|
||||||
val isPagerType = ReadingModeType.isPagerType(readingMode)
|
val isPagerType = ReadingModeType.isPagerType(readingMode)
|
||||||
val isWebtoon = ReadingModeType.WEBTOON.prefValue == readingMode
|
val isWebtoon = ReadingModeType.WEBTOON.flagValue == readingMode
|
||||||
val cropEnabled = if (isPagerType) {
|
val cropEnabled = if (isPagerType) {
|
||||||
cropBorderPaged
|
cropBorderPaged
|
||||||
} else if (isWebtoon) {
|
} else if (isWebtoon) {
|
||||||
@ -974,10 +977,6 @@ class ReaderActivity : BaseActivity() {
|
|||||||
bottomAnimation.applySystemAnimatorScale(this)
|
bottomAnimation.applySystemAnimatorScale(this)
|
||||||
binding.readerMenuBottom.startAnimation(bottomAnimation)
|
binding.readerMenuBottom.startAnimation(bottomAnimation)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (readerPreferences.showPageNumber().get()) {
|
|
||||||
config?.setPageNumberVisibility(false)
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (readerPreferences.fullscreen().get()) {
|
if (readerPreferences.fullscreen().get()) {
|
||||||
windowInsetsController.hide(WindowInsetsCompat.Type.systemBars())
|
windowInsetsController.hide(WindowInsetsCompat.Type.systemBars())
|
||||||
@ -1010,10 +1009,6 @@ class ReaderActivity : BaseActivity() {
|
|||||||
bottomAnimation.applySystemAnimatorScale(this)
|
bottomAnimation.applySystemAnimatorScale(this)
|
||||||
binding.readerMenuBottom.startAnimation(bottomAnimation)
|
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))
|
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?.cancel()
|
||||||
readingModeToast = toast(resources.getString(R.string.eh_auto_webtoon_snack))
|
readingModeToast = toast(resources.getString(R.string.eh_auto_webtoon_snack))
|
||||||
} else if (readerPreferences.showReadingMode().get()) {
|
} else if (readerPreferences.showReadingMode().get()) {
|
||||||
@ -1095,9 +1090,8 @@ class ReaderActivity : BaseActivity() {
|
|||||||
|
|
||||||
private fun showReadingModeToast(mode: Int) {
|
private fun showReadingModeToast(mode: Int) {
|
||||||
try {
|
try {
|
||||||
val strings = resources.getStringArray(R.array.viewers_selector)
|
|
||||||
readingModeToast?.cancel()
|
readingModeToast?.cancel()
|
||||||
readingModeToast = toast(strings[mode])
|
readingModeToast = toast(ReadingModeType.fromPreference(mode).stringRes)
|
||||||
} catch (e: ArrayIndexOutOfBoundsException) {
|
} catch (e: ArrayIndexOutOfBoundsException) {
|
||||||
logcat(LogPriority.ERROR) { "Unknown reading mode: $mode" }
|
logcat(LogPriority.ERROR) { "Unknown reading mode: $mode" }
|
||||||
}
|
}
|
||||||
@ -1390,10 +1384,6 @@ class ReaderActivity : BaseActivity() {
|
|||||||
}
|
}
|
||||||
.launchIn(lifecycleScope)
|
.launchIn(lifecycleScope)
|
||||||
|
|
||||||
readerPreferences.showPageNumber().changes()
|
|
||||||
.onEach(::setPageNumberVisibility)
|
|
||||||
.launchIn(lifecycleScope)
|
|
||||||
|
|
||||||
readerPreferences.trueColor().changes()
|
readerPreferences.trueColor().changes()
|
||||||
.onEach(::setTrueColor)
|
.onEach(::setTrueColor)
|
||||||
.launchIn(lifecycleScope)
|
.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].
|
* Sets the 32-bit color mode according to [enabled].
|
||||||
*/
|
*/
|
||||||
|
@ -609,7 +609,7 @@ class ReaderViewModel @JvmOverloads constructor(
|
|||||||
if (
|
if (
|
||||||
readerChapter.pages?.lastIndex == pageIndex ||
|
readerChapter.pages?.lastIndex == pageIndex ||
|
||||||
(hasExtraPage && readerChapter.pages?.lastIndex?.minus(1) == page.index)
|
(hasExtraPage && readerChapter.pages?.lastIndex?.minus(1) == page.index)
|
||||||
) {
|
) {
|
||||||
// SY <--
|
// SY <--
|
||||||
readerChapter.chapter.read = true
|
readerChapter.chapter.read = true
|
||||||
// SY -->
|
// SY -->
|
||||||
@ -819,7 +819,7 @@ class ReaderViewModel @JvmOverloads constructor(
|
|||||||
fun toggleCropBorders(): Boolean {
|
fun toggleCropBorders(): Boolean {
|
||||||
val readingMode = getMangaReadingMode()
|
val readingMode = getMangaReadingMode()
|
||||||
val isPagerType = ReadingModeType.isPagerType(readingMode)
|
val isPagerType = ReadingModeType.isPagerType(readingMode)
|
||||||
val isWebtoon = ReadingModeType.WEBTOON.prefValue == readingMode
|
val isWebtoon = ReadingModeType.WEBTOON.flagValue == readingMode
|
||||||
return if (isPagerType) {
|
return if (isPagerType) {
|
||||||
readerPreferences.cropBorders().toggle()
|
readerPreferences.cropBorders().toggle()
|
||||||
} else if (isWebtoon) {
|
} else if (isWebtoon) {
|
||||||
|
@ -5,14 +5,14 @@ import androidx.annotation.DrawableRes
|
|||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import eu.kanade.tachiyomi.R
|
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) {
|
enum class OrientationType(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),
|
DEFAULT(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),
|
FREE(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),
|
PORTRAIT(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),
|
LANDSCAPE(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_PORTRAIT(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),
|
LOCKED_LANDSCAPE(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),
|
REVERSE_PORTRAIT(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT, R.string.rotation_reverse_portrait, R.drawable.ic_stay_current_portrait_24dp, 0x00000030),
|
||||||
;
|
;
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -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.pager.VerticalPagerViewer
|
||||||
import eu.kanade.tachiyomi.ui.reader.viewer.webtoon.WebtoonViewer
|
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) {
|
enum class ReadingModeType(@StringRes val stringRes: Int, @DrawableRes val iconRes: Int, val flagValue: Int) {
|
||||||
DEFAULT(0, R.string.label_default, R.drawable.ic_reader_default_24dp, 0x00000000),
|
DEFAULT(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),
|
LEFT_TO_RIGHT(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),
|
RIGHT_TO_LEFT(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),
|
VERTICAL(R.string.vertical_viewer, R.drawable.ic_reader_vertical_24dp, 0x00000003),
|
||||||
WEBTOON(4, R.string.webtoon_viewer, R.drawable.ic_reader_webtoon_24dp, 0x00000004),
|
WEBTOON(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),
|
CONTINUOUS_VERTICAL(R.string.vertical_plus_viewer, R.drawable.ic_reader_continuous_vertical_24dp, 0x00000005),
|
||||||
;
|
;
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -54,7 +54,7 @@ fun Manga.mangaType(sourceName: String? = Injekt.get<SourceManager>().get(source
|
|||||||
*/
|
*/
|
||||||
fun Manga.defaultReaderType(type: MangaType = mangaType()): Int? {
|
fun Manga.defaultReaderType(type: MangaType = mangaType()): Int? {
|
||||||
return if (type == MangaType.TYPE_MANHWA || type == MangaType.TYPE_WEBTOON) {
|
return if (type == MangaType.TYPE_MANHWA || type == MangaType.TYPE_WEBTOON) {
|
||||||
ReadingModeType.WEBTOON.prefValue
|
ReadingModeType.WEBTOON.flagValue
|
||||||
} else {
|
} else {
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<resources>
|
|
||||||
<string-array name="viewers_selector">
|
|
||||||
<item>@string/label_default</item>
|
|
||||||
<item>@string/left_to_right_viewer</item>
|
|
||||||
<item>@string/right_to_left_viewer</item>
|
|
||||||
<item>@string/vertical_viewer</item>
|
|
||||||
<item>@string/webtoon_viewer</item>
|
|
||||||
<item>@string/vertical_plus_viewer</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="rotation_type">
|
|
||||||
<item>@string/label_default</item>
|
|
||||||
<item>@string/rotation_free</item>
|
|
||||||
<item>@string/rotation_portrait</item>
|
|
||||||
<item>@string/rotation_landscape</item>
|
|
||||||
<item>@string/rotation_force_portrait</item>
|
|
||||||
<item>@string/rotation_force_landscape</item>
|
|
||||||
<item>@string/rotation_reverse_portrait</item>
|
|
||||||
</string-array>
|
|
||||||
</resources>
|
|
Loading…
x
Reference in New Issue
Block a user