From 3d396995425b49aaaeca8d1f555e48890a88633a Mon Sep 17 00:00:00 2001 From: SpiritCroc Date: Fri, 21 Oct 2022 09:23:06 +0200 Subject: [PATCH] Fix following the system locale Fixes https://github.com/SchildiChat/SchildiChat-android/issues/157 Change-Id: Idcf4bb84e5a0ec5bcd3d73c81447e13f3fd0e9e3 --- .../features/settings/VectorLocaleProvider.kt | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorLocaleProvider.kt b/vector/src/main/java/im/vector/app/features/settings/VectorLocaleProvider.kt index cbfa92d048..a45d7f54f3 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorLocaleProvider.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorLocaleProvider.kt @@ -33,9 +33,16 @@ class VectorLocaleProvider @Inject constructor( * SharedPref values has been initialized in [VectorLocale.init] */ val applicationLocale: Locale - get() = Locale( - preferences.getString(VectorLocale.APPLICATION_LOCALE_LANGUAGE_KEY, "")!!, - preferences.getString(VectorLocale.APPLICATION_LOCALE_COUNTRY_KEY, "")!!, - preferences.getString(VectorLocale.APPLICATION_LOCALE_VARIANT_KEY, "")!! - ) + get() { + val followSystemLocale = preferences.getBoolean(VectorPreferences.SETTINGS_FOLLOW_SYSTEM_LOCALE, false) + return if (followSystemLocale) { + Locale.getDefault() + } else { + Locale( + preferences.getString(VectorLocale.APPLICATION_LOCALE_LANGUAGE_KEY, "")!!, + preferences.getString(VectorLocale.APPLICATION_LOCALE_COUNTRY_KEY, "")!!, + preferences.getString(VectorLocale.APPLICATION_LOCALE_VARIANT_KEY, "")!! + ) + } + } }