From 92f9cd04d80e7633122ca618b492ea66aebe188e Mon Sep 17 00:00:00 2001 From: Daniel Frett Date: Wed, 25 Oct 2023 13:00:15 -0600 Subject: [PATCH] use remember to prevent a new flow from being created every time LocalAppLanguage.current is called --- .../main/kotlin/org/cru/godtools/base/LocalAppLanguage.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/library/base/src/main/kotlin/org/cru/godtools/base/LocalAppLanguage.kt b/library/base/src/main/kotlin/org/cru/godtools/base/LocalAppLanguage.kt index 8f01365fc9..f4f851a074 100644 --- a/library/base/src/main/kotlin/org/cru/godtools/base/LocalAppLanguage.kt +++ b/library/base/src/main/kotlin/org/cru/godtools/base/LocalAppLanguage.kt @@ -2,6 +2,7 @@ package org.cru.godtools.base import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.remember import androidx.compose.runtime.staticCompositionLocalOf import androidx.compose.ui.platform.LocalContext import java.util.Locale @@ -15,7 +16,9 @@ object LocalAppLanguage { val current: Locale @Composable get() = LocalComposition.current - ?: LocalContext.current.let { it.getAppLanguageFlow().collectAsState(it.appLanguage).value } + ?: LocalContext.current.let { + remember(it) { it.getAppLanguageFlow() }.collectAsState(it.appLanguage).value + } /** * Associates a [LocalAppLanguage] key to a value in a call to [CompositionLocalProvider].