|
@@ -19,7 +19,6 @@ import eu.kanade.tachiyomi.ui.reader.viewer.ReaderPageImageView
|
|
|
import eu.kanade.tachiyomi.ui.reader.viewer.ReaderProgressIndicator
|
|
|
import eu.kanade.tachiyomi.ui.webview.WebViewActivity
|
|
|
import eu.kanade.tachiyomi.util.system.ImageUtil
|
|
|
-import eu.kanade.tachiyomi.util.system.ImageUtil.SplitData
|
|
|
import eu.kanade.tachiyomi.util.system.dpToPx
|
|
|
import rx.Observable
|
|
|
import rx.Subscription
|
|
@@ -286,27 +285,31 @@ class WebtoonPageHolder(
|
|
|
|
|
|
if (viewer.config.longStripSplit) {
|
|
|
if (page is StencilPage) {
|
|
|
- val splitData = (page as StencilPage).splitData
|
|
|
- return ImageUtil.splitStrip(imageStream, splitData)
|
|
|
+ return imageStream
|
|
|
}
|
|
|
-
|
|
|
val isStripSplitNeeded = ImageUtil.isStripSplitNeeded(imageStream)
|
|
|
if (isStripSplitNeeded) {
|
|
|
- val splitData = onStripSplit(imageStream)
|
|
|
- splitData?.let { return ImageUtil.splitStrip(imageStream, it) }
|
|
|
+ onStripSplit(imageStream)?.let { return it }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return imageStream
|
|
|
}
|
|
|
|
|
|
- private fun onStripSplit(imageStream: BufferedInputStream): SplitData? {
|
|
|
+ private fun onStripSplit(imageStream: BufferedInputStream): InputStream? {
|
|
|
val page = page ?: return null
|
|
|
- val splitData = ImageUtil.getSplitDataForStream(imageStream).toMutableList()
|
|
|
- val toReturn = splitData.removeFirstOrNull()
|
|
|
- val newPages = splitData.map { StencilPage(page, it) }
|
|
|
- viewer.onLongStripSplit(page, newPages)
|
|
|
- return toReturn
|
|
|
+ val streamFn = page.stream ?: return null
|
|
|
+ val splitData = ImageUtil.getSplitDataForStream(imageStream)
|
|
|
+ if (splitData.size == 1) return imageStream
|
|
|
+ val newPages = splitData.map {
|
|
|
+ StencilPage(page) { ImageUtil.splitStrip(it, streamFn) }
|
|
|
+ }.toMutableList()
|
|
|
+ return newPages.removeFirst().stream?.invoke()
|
|
|
+ .also {
|
|
|
+ // Doing this first and then returning InputStream
|
|
|
+ // results in various issues with splitting
|
|
|
+ viewer.onLongStripSplit(page, newPages)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|