Commit 28a7203
Changed files (3)
lib
model
storage
lib/model/storage/settings_store.dart
@@ -63,7 +63,7 @@ class Settings extends ChangeNotifier {
if (startWithAddMeasurementPage != null) _startWithAddMeasurementPage = startWithAddMeasurementPage;
if (useLegacyList != null) _useLegacyList = useLegacyList;
if (horizontalGraphLines != null) _horizontalGraphLines = horizontalGraphLines;
- _language = language; // No check here, as null is the default as well. In general values should not be null
+ _language = language; // No check here, as null is the default as well.
}
factory Settings.fromMap(Map<String, dynamic> map) => Settings(
@@ -123,8 +123,10 @@ class Settings extends ChangeNotifier {
String toJson() => jsonEncode(toMap());
- Locale? _language; // default null
- /// When the value is null,
+ Locale? _language;
+ /// Language to use the app in.
+ ///
+ /// When the value is null, the device default language is chosen.
Locale? get language => _language;
set language(Locale? value) {
_language = value;
lib/screens/add_measurement.dart
@@ -3,6 +3,7 @@ import 'package:blood_pressure_app/model/blood_pressure.dart';
import 'package:blood_pressure_app/model/export_import.dart';
import 'package:blood_pressure_app/model/export_options.dart';
import 'package:blood_pressure_app/model/storage/export_settings_store.dart';
+import 'package:blood_pressure_app/model/storage/intervall_store.dart';
import 'package:blood_pressure_app/model/storage/settings_store.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
@@ -11,8 +12,6 @@ import 'package:flutter_material_color_picker/flutter_material_color_picker.dart
import 'package:intl/intl.dart';
import 'package:provider/provider.dart';
-import '../model/storage/intervall_store.dart';
-
class AddMeasurementPage extends StatefulWidget {
final DateTime? initTime;
final int? initSys;
@@ -179,10 +178,8 @@ class _AddMeasurementPageState extends State<AddMeasurementPage> {
final exporter = Exporter.load(context, await model.all, await ExportConfigurationModel.get(localizations));
exporter.export();
}
- // ensures the most recent entry is visible when submitting a new measurement
- if (intervalls.mainPage.stepSize != TimeStep.custom) {
- intervalls.mainPage.setToMostRecentIntervall();
- }
+ // ensures the most recent entry is visible when adding measurements to avoid confusion
+ intervalls.mainPage.setToMostRecentIntervall();
navigator.pop();
}
},
lib/screens/settings.dart
@@ -315,24 +315,22 @@ class SettingsPage extends StatelessWidget {
final messenger = ScaffoldMessenger.of(context);
var result = await FilePicker.platform.pickFiles(
allowMultiple: false,
- withData: true,
+ withData: false,
);
if (result == null) {
messenger.showSnackBar(SnackBar(content: Text(localizations.errNoFileOpened)));
return;
}
- var binaryContent = result.files.single.bytes;
- if (binaryContent == null) {
+ var path = result.files.single.path;
+ if (path == null) {
messenger.showSnackBar(SnackBar(content: Text(localizations.errCantReadFile)));
return;
}
- var path = result.files.single.path;
- assert(path != null); // null state directly linked to binary content
String dbPath = await getDatabasesPath();
assert(dbPath != inMemoryDatabasePath);
dbPath = join(dbPath, 'config.db');
- File(path!).copySync(dbPath);
+ File(path).copySync(dbPath);
if (!await Restart.restartApp()) {
messenger.showSnackBar(SnackBar(content: Text(localizations.pleaseRestart)));
return;