From 4938958caddc056775f8c5e8dc6a8317192129f6 Mon Sep 17 00:00:00 2001 From: Sad Ellie Date: Mon, 9 Oct 2023 13:25:34 +0300 Subject: [PATCH] Update locale on configuration change --- app/src/main/java/com/sadellie/unitto/MainActivity.kt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/sadellie/unitto/MainActivity.kt b/app/src/main/java/com/sadellie/unitto/MainActivity.kt index 43d33815..6d476e3c 100644 --- a/app/src/main/java/com/sadellie/unitto/MainActivity.kt +++ b/app/src/main/java/com/sadellie/unitto/MainActivity.kt @@ -25,10 +25,10 @@ import android.util.AttributeSet import android.view.View import androidx.activity.compose.setContent import androidx.appcompat.app.AppCompatActivity -import androidx.appcompat.app.AppCompatDelegate import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.remember import androidx.compose.ui.platform.LocalConfiguration +import androidx.core.os.ConfigurationCompat import androidx.core.view.WindowCompat import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.sadellie.unitto.core.ui.LocalLocale @@ -50,13 +50,12 @@ internal class MainActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContent { + val configuration = LocalConfiguration.current val prefs = userPrefsRepository.appPrefs .collectAsStateWithLifecycle(null).value - val locale = remember(LocalConfiguration.current) { - val tag: String = AppCompatDelegate - .getApplicationLocales() - .toLanguageTags() - if (tag.isEmpty()) Locale.getDefault() else Locale.forLanguageTag(tag) + + val locale = remember(configuration) { + ConfigurationCompat.getLocales(configuration).get(0) ?: Locale.getDefault() } val numbersTypography = remember(prefs?.systemFont) {