Commit 0ebf75a
Changed files (2)
lib
model
screens
lib/model/settings_store.dart
@@ -16,9 +16,30 @@ class Settings extends ChangeNotifier {
static Future<Settings> create() async {
final component = Settings._create();
component._prefs = await SharedPreferences.getInstance();
+ await component._update();
return component;
}
+ Future<void> _update() async {
+ final keys = _prefs.getKeys();
+ List<Future> toAwait = [];
+
+ if (keys.contains('age')) {
+ final lastAge = _prefs.getInt('age') ?? 30;
+ sysWarn = BloodPressureWarnValues.getUpperSysWarnValue(lastAge).toDouble();
+ diaWarn = BloodPressureWarnValues.getUpperDiaWarnValue(lastAge).toDouble();
+ toAwait.add(_prefs.remove('age'));
+ }
+ if (keys.contains('overrideWarnValues')) {
+ toAwait.add(_prefs.remove('overrideWarnValues'));
+ }
+
+ for (var e in toAwait) {
+ await e;
+ }
+ return;
+ }
+
int get graphStepSize {
return _prefs.getInt('graphStepSize') ?? TimeStep.day;
}
@@ -187,9 +208,6 @@ class Settings extends ChangeNotifier {
}
double get sysWarn {
- if (!overrideWarnValues) {
- return BloodPressureWarnValues.getUpperSysWarnValue(age).toDouble();
- }
return _prefs.getInt('sysWarn')?.toDouble() ?? 120;
}
@@ -199,9 +217,6 @@ class Settings extends ChangeNotifier {
}
double get diaWarn {
- if (!overrideWarnValues) {
- return BloodPressureWarnValues.getUpperDiaWarnValue(age).toDouble();
- }
return _prefs.getInt('diaWarn')?.toDouble() ?? 80;
}
@@ -210,24 +225,6 @@ class Settings extends ChangeNotifier {
notifyListeners();
}
- int get age {
- return _prefs.getInt('age') ?? 30;
- }
-
- set age(int newAge) {
- _prefs.setInt('age', newAge.toInt());
- notifyListeners();
- }
-
- bool get overrideWarnValues {
- return _prefs.getBool('overrideWarnValues') ?? false;
- }
-
- set overrideWarnValues(bool overrideWarnValues) {
- _prefs.setBool('overrideWarnValues', overrideWarnValues);
- notifyListeners();
- }
-
bool get validateInputs {
return _prefs.getBool('validateInputs') ?? true;
}
lib/screens/settings.dart
@@ -165,7 +165,7 @@ class SettingsPage extends StatelessWidget {
onToggle: (value) {
settings.confirmDeletion = value;
}),
- InputSettingsTile(
+ /*InputSettingsTile(
key: const Key('age'),
title: Text(AppLocalizations.of(context)!.age),
description: Text(AppLocalizations.of(context)!.ageDesc),
@@ -186,6 +186,7 @@ class SettingsPage extends StatelessWidget {
// this field intentionally doesn't get disabled, as this
// would cause unexpected jumps in layout
),
+ */
SettingsTile(
key: const Key('AboutWarnValuesScreen'),
title: Text(AppLocalizations.of(context)!.aboutWarnValuesScreen),
@@ -197,15 +198,6 @@ class SettingsPage extends StatelessWidget {
MaterialPageRoute(builder: (context) => const AboutWarnValuesScreen()),
);
}),
- SwitchSettingsTile(
- key: const Key('overrideWarnValues'),
- initialValue: settings.overrideWarnValues,
- onToggle: (value) {
- settings.overrideWarnValues = value;
- },
- leading: const Icon(Icons.tune),
- title: Text(AppLocalizations.of(context)!.overrideWarnValues),
- ),
InputSettingsTile(
key: const Key('sysWarn'),
title: Text(AppLocalizations.of(context)!.sysWarn),
@@ -222,7 +214,6 @@ class SettingsPage extends StatelessWidget {
},
decoration: InputDecoration(hintText: AppLocalizations.of(context)!.sysWarn),
inputWidth: 120,
- disabled: !settings.overrideWarnValues,
),
InputSettingsTile(
key: const Key('diaWarn'),
@@ -240,7 +231,6 @@ class SettingsPage extends StatelessWidget {
},
decoration: InputDecoration(hintText: AppLocalizations.of(context)!.diaWarn),
inputWidth: 120,
- disabled: !settings.overrideWarnValues,
),
]),
SettingsSection(