mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
fix(reader): Split page shouldn't be seen as extra page
This commit is contained in:
parent
42dd0183e8
commit
870e3467ba
3 changed files with 12 additions and 5 deletions
|
@ -0,0 +1,6 @@
|
|||
package eu.kanade.tachiyomi.ui.reader.model
|
||||
|
||||
/**
|
||||
* Used as placeholder for split page's second page
|
||||
*/
|
||||
class SplitPage : ReaderItem
|
|
@ -11,9 +11,6 @@ import androidx.core.view.isVisible
|
|||
import androidx.viewpager.widget.ViewPager
|
||||
import co.touchlab.kermit.Logger
|
||||
import eu.kanade.tachiyomi.R
|
||||
import yokai.i18n.MR
|
||||
import yokai.util.lang.getString
|
||||
import dev.icerock.moko.resources.compose.stringResource
|
||||
import eu.kanade.tachiyomi.data.download.DownloadManager
|
||||
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
|
||||
import eu.kanade.tachiyomi.ui.reader.model.ChapterTransition
|
||||
|
@ -26,6 +23,7 @@ import eu.kanade.tachiyomi.ui.reader.viewer.BaseViewer
|
|||
import eu.kanade.tachiyomi.ui.reader.viewer.ViewerNavigation
|
||||
import kotlinx.coroutines.MainScope
|
||||
import kotlinx.coroutines.cancel
|
||||
import nl.adaptivity.xmlutil.core.impl.multiplatform.name
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
|
||||
/**
|
||||
|
@ -215,6 +213,7 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer {
|
|||
onReaderPageSelected(pageF, allowPreload, page.second is ReaderPage, forward)
|
||||
}
|
||||
is ChapterTransition -> onTransitionSelected(pageF)
|
||||
else -> throw UnsupportedOperationException("${pageF::class.name} is not supported!")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,11 +8,13 @@ import eu.kanade.tachiyomi.ui.reader.model.InsertPage
|
|||
import eu.kanade.tachiyomi.ui.reader.model.ReaderChapter
|
||||
import eu.kanade.tachiyomi.ui.reader.model.ReaderItem
|
||||
import eu.kanade.tachiyomi.ui.reader.model.ReaderPage
|
||||
import eu.kanade.tachiyomi.ui.reader.model.SplitPage
|
||||
import eu.kanade.tachiyomi.ui.reader.model.ViewerChapters
|
||||
import eu.kanade.tachiyomi.ui.reader.viewer.hasMissingChapters
|
||||
import eu.kanade.tachiyomi.util.system.launchUI
|
||||
import eu.kanade.tachiyomi.widget.ViewPagerAdapter
|
||||
import kotlinx.coroutines.delay
|
||||
import nl.adaptivity.xmlutil.core.impl.multiplatform.name
|
||||
import kotlin.math.max
|
||||
|
||||
/**
|
||||
|
@ -133,6 +135,7 @@ class PagerViewerAdapter(private val viewer: PagerViewer) : ViewPagerAdapter() {
|
|||
return when (item) {
|
||||
is ReaderPage -> PagerPageHolder(viewer, item, item2 as? ReaderPage)
|
||||
is ChapterTransition -> PagerTransitionHolder(viewer, item)
|
||||
else -> throw UnsupportedOperationException("${item::class.name} is not supported!")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -208,8 +211,7 @@ class PagerViewerAdapter(private val viewer: PagerViewer) : ViewPagerAdapter() {
|
|||
this.joinedItems = pagedItems.map {
|
||||
Pair<ReaderItem, ReaderItem?>(
|
||||
it,
|
||||
// I don't even know what this is... but I'm guessing he try to check if "firstHalf" is not null
|
||||
if ((it as? ReaderPage)?.fullPage == true && it.firstHalf != null) it else null,
|
||||
if ((it as? ReaderPage)?.fullPage == true && it.firstHalf == true) SplitPage() else null,
|
||||
)
|
||||
}.toMutableList()
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue