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 ### Features
- Add ability to enable / disable emotes globally - Add ability to enable / disable emotes globally
- Add ability to manage emote packs with different state keys - 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 # Version 0.19.0 - 2020-09-21
### Features ### Features

View file

@ -176,8 +176,9 @@ class ThemeSwitcherWidgetState extends State<ThemeSwitcherWidget> {
Future loadSelection(MatrixState matrix) async { Future loadSelection(MatrixState matrix) async {
String item = await matrix.store.getItem('theme') ?? 'light'; String item = await matrix.store.getItem('theme') ?? 'light';
selectedTheme = selectedTheme = Themes.values.firstWhere(
Themes.values.firstWhere((e) => e.toString() == 'Themes.' + item); (e) => e.toString() == 'Themes.' + item,
orElse: () => Themes.system);
amoledEnabled = (await matrix.store.getItem('amoled_enabled') ?? 'false') amoledEnabled = (await matrix.store.getItem('amoled_enabled') ?? 'false')
.toLowerCase() == .toLowerCase() ==
@ -238,26 +239,6 @@ class ThemeSwitcherWidgetState extends State<ThemeSwitcherWidget> {
void setup() async { void setup() async {
final matrix = Matrix.of(context); final matrix = Matrix.of(context);
await loadSelection(matrix); 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 @override