settings: move postUpdate hook outside save function

fixes #62
This commit is contained in:
2025-09-13 13:05:50 +02:00
parent 9533fdaeec
commit 5354c601eb
5 changed files with 27 additions and 16 deletions

View File

@@ -11,7 +11,6 @@ import 'package:isar/isar.dart';
import 'package:majesticons_flutter/majesticons_flutter.dart';
import '../../main.dart';
// import 'package:restart_app/restart_app.dart';
const bellRing = 1001;
const rounding1 = 1002;
@@ -489,8 +488,6 @@ class SettingsGroup implements SettingsItem {
await item.save(model);
}
await postUpdate();
initData.settingsUpdateNotifier.update();
}
}
@@ -525,8 +522,6 @@ class SettingsSubGroup implements SettingsItem {
await item.save(model);
}
await postUpdate();
initData.settingsUpdateNotifier.update();
}
}
@@ -823,7 +818,6 @@ class SettingsBoolean implements SettingsItem {
v.valueBool = value;
await model.put(v);
await postUpdate();
initData.settingsUpdateNotifier.update();
}
@@ -864,7 +858,6 @@ class SettingsItemsRadio implements SettingsItem {
v.valueIndex = activeIndex;
await model.put(v);
await postUpdate();
initData.settingsUpdateNotifier.update();
}
@@ -928,7 +921,6 @@ class SettingsDouble implements SettingsItem {
v.valueDouble = value;
await model.put(v);
await postUpdate();
initData.settingsUpdateNotifier.update();
}
@@ -969,7 +961,6 @@ class SettingsString implements SettingsItem {
v.valueString = value;
await model.put(v);
await postUpdate();
initData.settingsUpdateNotifier.update();
}

View File

@@ -142,6 +142,10 @@ void showExtrasBottomSheet(BuildContext context, AppInitialization data) {
.save(data.isar.appSettingsModels);
});
await data.settings
.group("settings")["developer_enabled"]!
.postUpdate();
Navigator.of(navigatorKey.currentContext!)
.popUntil((route) => false);
Navigator.push(

View File

@@ -107,14 +107,17 @@ class _BetaScreenState extends FirkaState<BetaScreen> {
await widget.data.settings
.group("settings")["beta_warning"]!
.save(widget.data.isar.appSettingsModels);
Navigator.of(context).pushAndRemoveUntil(
MaterialPageRoute(
builder: (context) =>
HomeScreen(widget.data, false)),
(route) => false,
);
});
await widget.data.settings
.group("settings")["beta_warning"]!
.postUpdate();
Navigator.of(context).pushAndRemoveUntil(
MaterialPageRoute(
builder: (context) =>
HomeScreen(widget.data, false)),
(route) => false,
);
},
),
],

View File

@@ -224,6 +224,8 @@ class _SettingsScreenState extends FirkaState<SettingsScreen> {
await widget.data.isar.writeTxn(() async {
await item.save(widget.data.isar.appSettingsModels);
});
await item.postUpdate();
})
],
));
@@ -257,6 +259,8 @@ class _SettingsScreenState extends FirkaState<SettingsScreen> {
await widget.data.isar.writeTxn(() async {
await item.save(widget.data.isar.appSettingsModels);
});
await item.postUpdate();
logger.finest('Settings saved');
}),
),
@@ -279,6 +283,8 @@ class _SettingsScreenState extends FirkaState<SettingsScreen> {
await widget.data.isar.writeTxn(() async {
await item.save(widget.data.isar.appSettingsModels);
});
await item.postUpdate();
},
));
}
@@ -539,6 +545,8 @@ class _SettingsScreenState extends FirkaState<SettingsScreen> {
await item
.save(widget.data.isar.appSettingsModels);
});
await item.postUpdate();
logger.finest('Settings saved');
})
],
@@ -552,6 +560,8 @@ class _SettingsScreenState extends FirkaState<SettingsScreen> {
await item.save(widget.data.isar.appSettingsModels);
});
await item.postUpdate();
runApp(InitializationScreen());
}
},
@@ -750,6 +760,7 @@ void showSetDoubleSheet(BuildContext context, SettingsDouble setting,
setStateOuter(() {});
});
await setting.postUpdate();
}),
),
Text(setting.toRoundedString(),

View File

@@ -81,6 +81,8 @@ class _LoginWebviewWidgetState extends FirkaState<LoginWebviewWidget> {
await accountPicker.save(widget.data.isar.appSettingsModels);
});
await accountPicker.postUpdate();
if (!mounted) return NavigationDecision.prevent;
runApp(InitializationScreen());