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 androidx.viewpager.widget.ViewPager
|
||||||
import co.touchlab.kermit.Logger
|
import co.touchlab.kermit.Logger
|
||||||
import eu.kanade.tachiyomi.R
|
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.data.download.DownloadManager
|
||||||
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
|
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
|
||||||
import eu.kanade.tachiyomi.ui.reader.model.ChapterTransition
|
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 eu.kanade.tachiyomi.ui.reader.viewer.ViewerNavigation
|
||||||
import kotlinx.coroutines.MainScope
|
import kotlinx.coroutines.MainScope
|
||||||
import kotlinx.coroutines.cancel
|
import kotlinx.coroutines.cancel
|
||||||
|
import nl.adaptivity.xmlutil.core.impl.multiplatform.name
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -215,6 +213,7 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer {
|
||||||
onReaderPageSelected(pageF, allowPreload, page.second is ReaderPage, forward)
|
onReaderPageSelected(pageF, allowPreload, page.second is ReaderPage, forward)
|
||||||
}
|
}
|
||||||
is ChapterTransition -> onTransitionSelected(pageF)
|
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.ReaderChapter
|
||||||
import eu.kanade.tachiyomi.ui.reader.model.ReaderItem
|
import eu.kanade.tachiyomi.ui.reader.model.ReaderItem
|
||||||
import eu.kanade.tachiyomi.ui.reader.model.ReaderPage
|
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.model.ViewerChapters
|
||||||
import eu.kanade.tachiyomi.ui.reader.viewer.hasMissingChapters
|
import eu.kanade.tachiyomi.ui.reader.viewer.hasMissingChapters
|
||||||
import eu.kanade.tachiyomi.util.system.launchUI
|
import eu.kanade.tachiyomi.util.system.launchUI
|
||||||
import eu.kanade.tachiyomi.widget.ViewPagerAdapter
|
import eu.kanade.tachiyomi.widget.ViewPagerAdapter
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
|
import nl.adaptivity.xmlutil.core.impl.multiplatform.name
|
||||||
import kotlin.math.max
|
import kotlin.math.max
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -133,6 +135,7 @@ class PagerViewerAdapter(private val viewer: PagerViewer) : ViewPagerAdapter() {
|
||||||
return when (item) {
|
return when (item) {
|
||||||
is ReaderPage -> PagerPageHolder(viewer, item, item2 as? ReaderPage)
|
is ReaderPage -> PagerPageHolder(viewer, item, item2 as? ReaderPage)
|
||||||
is ChapterTransition -> PagerTransitionHolder(viewer, item)
|
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 {
|
this.joinedItems = pagedItems.map {
|
||||||
Pair<ReaderItem, ReaderItem?>(
|
Pair<ReaderItem, ReaderItem?>(
|
||||||
it,
|
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 == true) SplitPage() else null,
|
||||||
if ((it as? ReaderPage)?.fullPage == true && it.firstHalf != null) it else null,
|
|
||||||
)
|
)
|
||||||
}.toMutableList()
|
}.toMutableList()
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue