fix: Make theme loading work properly

onboarding
Sorunome 4 years ago
parent 14eddf1d86
commit 3d6c3002c8

@ -2,6 +2,8 @@
### Features
- Add ability to enable / disable emotes globally
- Add ability to manage emote packs with different state keys
### Fixes
- Fix amoled / theme settings not always saving properly
# Version 0.19.0 - 2020-09-21
### Features

@ -176,8 +176,9 @@ class ThemeSwitcherWidgetState extends State<ThemeSwitcherWidget> {
Future loadSelection(MatrixState matrix) async {
String item = await matrix.store.getItem('theme') ?? 'light';
selectedTheme =
Themes.values.firstWhere((e) => e.toString() == 'Themes.' + item);
selectedTheme = Themes.values.firstWhere(
(e) => e.toString() == 'Themes.' + item,
orElse: () => Themes.system);
amoledEnabled = (await matrix.store.getItem('amoled_enabled') ?? 'false')
.toLowerCase() ==
@ -238,26 +239,6 @@ class ThemeSwitcherWidgetState extends State<ThemeSwitcherWidget> {
void setup() async {
final matrix = Matrix.of(context);
await loadSelection(matrix);
if (selectedTheme == null) {
switchTheme(matrix, Themes.light, false);
} else {
switch (selectedTheme) {
case Themes.light:
switchTheme(matrix, Themes.light, false);
break;
case Themes.dark:
if (amoledEnabled) {
switchTheme(matrix, Themes.dark, true);
} else {
switchTheme(matrix, Themes.dark, false);
}
break;
case Themes.system:
switchTheme(matrix, Themes.system, false);
break;
}
}
}
@override

Loading…
Cancel
Save