fix: Make theme loading work properly

This commit is contained in:
Sorunome 2020-10-04 20:09:46 +02:00
parent 6b7d21d034
commit f6ab1e0d6d
No known key found for this signature in database
GPG Key ID: B19471D07FC9BE9C
2 changed files with 5 additions and 22 deletions

View File

@ -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

View File

@ -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