From ff2f3269ad39d26c057f00ddc2d1c167bfcf545b Mon Sep 17 00:00:00 2001 From: IacobIonut01 Date: Sun, 19 Jan 2025 23:04:13 +0200 Subject: [PATCH] MediaVIew: Fix incorrect normalization target when the page is forced Signed-off-by: IacobIonut01 --- .../presentation/mediaview/MediaViewScreen.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/dot/gallery/feature_node/presentation/mediaview/MediaViewScreen.kt b/app/src/main/kotlin/com/dot/gallery/feature_node/presentation/mediaview/MediaViewScreen.kt index 7c967c269..8c3d5f085 100644 --- a/app/src/main/kotlin/com/dot/gallery/feature_node/presentation/mediaview/MediaViewScreen.kt +++ b/app/src/main/kotlin/com/dot/gallery/feature_node/presentation/mediaview/MediaViewScreen.kt @@ -258,13 +258,16 @@ fun MediaViewScreen( mediaState.value, sheetHeightDp.value, lastSheetHeightDp, - lastOrientation + lastOrientation, + shouldForcePage ) { lastOrientation == configuration.orientation && lastSheetHeightDp.dp == sheetHeightDp && currentPage == pagerState.currentPage && storedNormalizationTarget > 0f && storedNormalizationTarget < 0.6f + && !mediaState.value.isLoading + && !shouldForcePage } LaunchedEffect(sheetHeightDp.value, configuration.orientation) { @@ -292,6 +295,12 @@ fun MediaViewScreen( } } + LaunchedEffect(shouldForcePage) { + if (!shouldForcePage) { + storedNormalizationTarget = sheetState.offset + } + } + val normalizedOffset by rememberedDerivedState( normalizationTarget, isNormalizationTargetSet