Fix RTL load

This commit is contained in:
tarsin committed 2022-12-20 20:57:45 +08:00
1 parent 56ba52d7b9
commit 323d258bc2
5 files changed
+9 -8

No files matched your search

@@ -30,7 +30,8 @@ abstract class PageLoader {
abstract fun size(): Int
fun request(index: Int) {
fun request(page: ReaderPage) {
val index = mPages.indexOf(page)
val image = mImageCache[index]
if (image != null)
notifyPageSucceed(index, image)
@@ -38,8 +39,8 @@ abstract class PageLoader {
onRequest(index)
}
fun retryPage(index: Int) {
onForceRequest(index)
fun retryPage(page: ReaderPage) {
onForceRequest(mPages.indexOf(page))
}
protected abstract fun onRequest(index: Int)
@@ -202,7 +202,7 @@ class PagerPageHolder(
errorLayout = ReaderErrorBinding.inflate(LayoutInflater.from(context), this, true)
errorLayout?.actionRetry?.viewer = viewer
errorLayout?.actionRetry?.setOnClickListener {
viewer.activity.mGalleryProvider?.retryPage(page.index)
viewer.activity.mGalleryProvider?.retryPage(page)
}
}
errorLayout?.root?.isVisible = true
@@ -54,7 +54,7 @@ class PagerViewerAdapter(private val viewer: PagerViewer) : ViewPagerAdapter() {
* Creates a new view for the item at the given [position].
*/
override fun createView(container: ViewGroup, position: Int): View {
currentChapter?.request(position)
currentChapter?.request(items[position] as ReaderPage)
return when (val item = items[position]) {
is ReaderPage -> PagerPageHolder(readerThemedContext, viewer, item)
else -> throw NotImplementedError("Holder for ${item.javaClass} not implemented")
@@ -74,9 +74,9 @@ class WebtoonAdapter(val viewer: WebtoonViewer) : RecyclerView.Adapter<RecyclerV
*/
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
val item = items[position]
currentChapter!!.request(position)
currentChapter!!.request(item as ReaderPage)
when (holder) {
is WebtoonPageHolder -> holder.bind(item as ReaderPage)
is WebtoonPageHolder -> holder.bind(item)
}
}
@@ -254,7 +254,7 @@ class WebtoonPageHolder(
errorLayout = ReaderErrorBinding.inflate(LayoutInflater.from(context), frame, true)
errorLayout?.root?.layoutParams = FrameLayout.LayoutParams(MATCH_PARENT, (parentHeight * 0.8).toInt())
errorLayout?.actionRetry?.setOnClickListener {
viewer.activity.mGalleryProvider?.retryPage(page!!.index)
viewer.activity.mGalleryProvider?.retryPage(page!!)
}
}
return errorLayout!!