From dafe0286f429f13e3e91cefc0f82bbcb10a15041 Mon Sep 17 00:00:00 2001 From: Mateusz Armatys Date: Wed, 23 Jul 2025 12:34:11 +0200 Subject: [PATCH] feat(presentation-compose): Add `key` parameter for `LaunchOnScreenView`. --- .../me/proton/core/compose/util/LaunchOnScreenView.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/presentation-compose/src/main/kotlin/me/proton/core/compose/util/LaunchOnScreenView.kt b/presentation-compose/src/main/kotlin/me/proton/core/compose/util/LaunchOnScreenView.kt index ffb3f384b..8a34fb0a8 100644 --- a/presentation-compose/src/main/kotlin/me/proton/core/compose/util/LaunchOnScreenView.kt +++ b/presentation-compose/src/main/kotlin/me/proton/core/compose/util/LaunchOnScreenView.kt @@ -23,10 +23,13 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.ui.platform.LocalSavedStateRegistryOwner import me.proton.core.presentation.utils.launchOnScreenView +/** + * @param key The key to use for re-launching the screen view effect. + */ @Composable -fun LaunchOnScreenView(enqueue: () -> Unit) { +fun LaunchOnScreenView(key: Any? = null, enqueue: () -> Unit) { val registryOwner = LocalSavedStateRegistryOwner.current - LaunchedEffect(registryOwner) { + LaunchedEffect(registryOwner, key) { registryOwner.launchOnScreenView(registryOwner.savedStateRegistry) { enqueue() }