diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonHolder.kt index 218621777d..5b814db1e9 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonHolder.kt @@ -63,6 +63,7 @@ class WebtoonHolder(private val view: View, private val adapter: WebtoonAdapter) setMinimumTileDpi(180) setRegionDecoderClass(webtoonReader.regionDecoderClass) setBitmapDecoderClass(webtoonReader.bitmapDecoderClass) + setCropBorders(webtoonReader.cropBorders) setVerticalScrollingParent(true) setOnTouchListener(adapter.touchListener) setOnLongClickListener { webtoonReader.onLongClick(page) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonReader.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonReader.kt index 72cae4e109..d10cb41b1d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonReader.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonReader.kt @@ -53,6 +53,12 @@ class WebtoonReader : BaseReader() { lateinit var layoutManager: PreCachingLayoutManager private set + /** + * Whether to crop image borders. + */ + var cropBorders: Boolean = false + private set + /** * Gesture detector for image touch events. */ @@ -109,16 +115,24 @@ class WebtoonReader : BaseReader() { .doOnNext { setDecoderClass(it) } .skip(1) .distinctUntilChanged() - .subscribe { - val activePage = layoutManager.findFirstVisibleItemPosition() - recycler.adapter = adapter - setActivePage(activePage) - }) + .subscribe { refreshAdapter() }) + + subscriptions.add(readerActivity.preferences.cropBorders() + .asObservable() + .doOnNext { cropBorders = it } + .skip(1) + .distinctUntilChanged() + .subscribe { refreshAdapter() }) setPagesOnAdapter() return recycler } + fun refreshAdapter() { + val activePage = layoutManager.findFirstVisibleItemPosition() + recycler.adapter = adapter + setActivePage(activePage) + } /** * Uses two ways to scroll to the last page read.