From 9274444bdeef64fd76547e5c47053034f9fe86b5 Mon Sep 17 00:00:00 2001 From: sunny7dusk Date: Sun, 18 Sep 2022 13:55:47 -0400 Subject: [PATCH] fix: fixed bug - if case before stopped AppearanceSettingModel to load locale --- .../lib/workspace/application/appearance.dart | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/frontend/app_flowy/lib/workspace/application/appearance.dart b/frontend/app_flowy/lib/workspace/application/appearance.dart index 0e47fa2be6..a9b498fb00 100644 --- a/frontend/app_flowy/lib/workspace/application/appearance.dart +++ b/frontend/app_flowy/lib/workspace/application/appearance.dart @@ -16,7 +16,8 @@ class AppearanceSettingModel extends ChangeNotifier with EquatableMixin { AppearanceSettingModel(this.setting) : _theme = AppTheme.fromName(name: setting.theme), - _locale = Locale(setting.locale.languageCode, setting.locale.countryCode); + _locale = + Locale(setting.locale.languageCode, setting.locale.countryCode); AppTheme get theme => _theme; Locale get locale => _locale; @@ -34,7 +35,8 @@ class AppearanceSettingModel extends ChangeNotifier with EquatableMixin { } void swapTheme() { - final themeType = (_theme.ty == ThemeType.light ? ThemeType.dark : ThemeType.light); + final themeType = + (_theme.ty == ThemeType.light ? ThemeType.dark : ThemeType.light); if (_theme.ty != themeType) { _theme = AppTheme.fromType(themeType); @@ -45,14 +47,15 @@ class AppearanceSettingModel extends ChangeNotifier with EquatableMixin { } void setLocale(BuildContext context, Locale newLocale) { - if (_locale != newLocale) { - if (!context.supportedLocales.contains(newLocale)) { - Log.warn("Unsupported locale: $newLocale"); - newLocale = const Locale('en'); - Log.debug("Fallback to locale: $newLocale"); - } + if (!context.supportedLocales.contains(newLocale)) { + Log.warn("Unsupported locale: $newLocale"); + newLocale = const Locale('en'); + Log.debug("Fallback to locale: $newLocale"); + } - context.setLocale(newLocale); + context.setLocale(newLocale); + + if (_locale != newLocale) { _locale = newLocale; setting.locale.languageCode = _locale.languageCode; setting.locale.countryCode = _locale.countryCode ?? ""; @@ -67,6 +70,10 @@ class AppearanceSettingModel extends ChangeNotifier with EquatableMixin { save(); setLocale(context, context.deviceLocale); + return; } + + // when opening app the first time + setLocale(context, _locale); } }