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