Commit ee2c9db
Changed files (4)
lib
components
model
screens
subsettings
lib/components/consistent_future_builder.dart
@@ -42,7 +42,6 @@ class _ConsistentFutureBuilderState<T> extends State<ConsistentFutureBuilder<T>>
if (widget.cacheFuture) {
_future = widget.future;
}
- // TODO: avoid functionality that avoids rebuilds, as this causes various issues with widgets that should be rebuild like the measurement list
}
@override
lib/model/export_options.dart
@@ -15,7 +15,7 @@ class ExportFields {
static const defaultPdf = ['formattedTimestamp','systolic','diastolic','pulse','notes'];
}
-class ExportConfigurationModel extends ChangeNotifier {
+class ExportConfigurationModel {
// 2 sources.
static ExportConfigurationModel? _instance;
@@ -89,7 +89,6 @@ class ExportConfigurationModel extends ChangeNotifier {
_availableFormats.removeWhere((e) => e.internalName == format.internalName);
_availableFormats.add(format);
_configDao.updateExportColumn(format);
- notifyListeners();
}
void delete(ExportColumn format) {
@@ -97,7 +96,6 @@ class ExportConfigurationModel extends ChangeNotifier {
assert(existingEntries.isNotEmpty, r"Tried to delete entry that doesn't exist or is not editable.");
_availableFormats.removeWhere((element) => element.internalName == format.internalName);
_configDao.deleteExportColumn(format.internalName);
- notifyListeners();
}
UnmodifiableListView<ExportColumn> get availableFormats => UnmodifiableListView(_availableFormats);
lib/screens/subsettings/delete_data.dart
@@ -22,7 +22,6 @@ class _DeleteDataScreenState extends State<DeleteDataScreen> {
/// Should never be reset to false.
bool _deletedData = false;
- // TODO: localize texts
@override
Widget build(BuildContext context) {
final localizations = AppLocalizations.of(context)!;
lib/main.dart
@@ -46,7 +46,6 @@ void main() async {
ChangeNotifierProvider(create: (context) => csvExportSettings),
ChangeNotifierProvider(create: (context) => pdfExportSettings),
ChangeNotifierProvider(create: (context) => intervalStorageManager),
- ChangeNotifierProvider(create: (context) => intervalStorageManager),
], child: const AppRoot()));
}
@@ -104,15 +103,15 @@ class AppRoot extends StatelessWidget {
}
}
-bool _areAllProvidersUnregistered = false;
+bool _isDatabaseClosed = false;
/// Close all connections to the databases and remove all listeners from provided objects.
///
/// The app will most likely stop working after invoking this.
///
/// Invoking the function multiple times is safe.
Future<void> closeDatabases() async {
- if (_areAllProvidersUnregistered) return;
- _areAllProvidersUnregistered = true;
+ if (_isDatabaseClosed) return;
+ _isDatabaseClosed = true;
await _database.database.close();
await _bloodPressureModel.close();