mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
Fixes to landscape zoom when reader shared transition is used
i think these only apply to j2k, seems fine on main
This commit is contained in:
parent
2f16e01513
commit
d6f42cff22
2 changed files with 20 additions and 4 deletions
|
@ -179,6 +179,7 @@ class PagerPageHolder(
|
|||
if (isReady) {
|
||||
landscapeZoom(forward)
|
||||
} else {
|
||||
forward ?: return@apply
|
||||
setOnImageEventListener(
|
||||
object : SubsamplingScaleImageView.DefaultOnImageEventListener() {
|
||||
override fun onReady() {
|
||||
|
@ -669,7 +670,12 @@ class PagerPageHolder(
|
|||
}
|
||||
override fun onReady() {
|
||||
setupZoom()
|
||||
if (isVisibleOnScreen()) landscapeZoom(true)
|
||||
if (viewer.heldForwardZoom?.first == page.index) {
|
||||
landscapeZoom(viewer.heldForwardZoom?.second)
|
||||
viewer.heldForwardZoom = null
|
||||
} else if (isVisibleOnScreen()) {
|
||||
landscapeZoom(true)
|
||||
}
|
||||
onImageDecoded()
|
||||
}
|
||||
|
||||
|
|
|
@ -72,6 +72,12 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Variable used to hold the forward pos for reader activity shared transitions
|
||||
* Without this var landscapezoom wont work with activity transitions
|
||||
* */
|
||||
var heldForwardZoom: Pair<Int, Boolean>? = null
|
||||
|
||||
private var pagerListener = object : ViewPager.SimpleOnPageChangeListener() {
|
||||
override fun onPageSelected(position: Int) {
|
||||
onPageChange(position)
|
||||
|
@ -176,7 +182,7 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer {
|
|||
(currentPage as ChapterTransition).from == pageF.chapter
|
||||
currentPage is ChapterTransition.Next && pageF is ReaderPage ->
|
||||
(currentPage as ChapterTransition).to == pageF.chapter
|
||||
else -> (pageF as? ReaderPage)?.index != 0
|
||||
else -> true
|
||||
}
|
||||
currentPage = pageF
|
||||
when (pageF) {
|
||||
|
@ -215,8 +221,12 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer {
|
|||
activity.onPageSelected(page, hasExtraPage)
|
||||
|
||||
// Notify holder of page change
|
||||
getPageHolder(page)?.onPageSelected(forward)
|
||||
|
||||
val holder = getPageHolder(page)
|
||||
if (holder == null && forward != null && heldForwardZoom == null) {
|
||||
heldForwardZoom = page.index to forward
|
||||
} else {
|
||||
holder?.onPageSelected(forward)
|
||||
}
|
||||
val offset = if (hasExtraPage) 1 else 0
|
||||
val pages = page.chapter.pages ?: return
|
||||
if (hasExtraPage) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue