From 71e2a54d132cc97f2e8504f346667892efe23ee7 Mon Sep 17 00:00:00 2001 From: Jays2Kings Date: Tue, 14 Feb 2023 14:36:30 -0500 Subject: [PATCH] Fix crash in reader when rotating sometimes --- .../tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt index 81f0f2ff3b..4350c1a67c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt @@ -340,15 +340,16 @@ class PagerPageHolder( ZoomType.Center -> center.also { it?.y = 0F } } + val rootInsets = viewer.activity.window.decorView.rootWindowInsets val topInsets = if (viewer.activity.isSplitScreen) { 0f } else { - viewer.activity.window.decorView.rootWindowInsets.topCutoutInset().toFloat() + rootInsets?.topCutoutInset()?.toFloat() ?: 0f } val bottomInsets = if (viewer.activity.isSplitScreen) { 0f } else { - viewer.activity.window.decorView.rootWindowInsets.bottomCutoutInset().toFloat() + rootInsets?.bottomCutoutInset()?.toFloat() ?: 0f } val targetScale = (height.toFloat() - topInsets - bottomInsets) / sHeight.toFloat() animateScaleAndCenter(min(targetScale, minScale * 2), point)!! @@ -570,8 +571,8 @@ class PagerPageHolder( landscapeZoom = viewer.config.landscapeZoom, insetInfo = InsetInfo( cutoutBehavior = viewer.config.cutoutBehavior, - topCutoutInset = viewer.activity.window.decorView.rootWindowInsets.topCutoutInset().toFloat(), - bottomCutoutInset = viewer.activity.window.decorView.rootWindowInsets.bottomCutoutInset().toFloat(), + topCutoutInset = viewer.activity.window.decorView.rootWindowInsets?.topCutoutInset()?.toFloat() ?: 0f, + bottomCutoutInset = viewer.activity.window.decorView.rootWindowInsets?.bottomCutoutInset()?.toFloat() ?: 0f, scaleTypeIsFullFit = viewer.config.scaleTypeIsFullFit(), isFullscreen = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && viewer.config.isFullscreen && !viewer.activity.isInMultiWindowMode,