Commit cda573b

derdilla <82763757+NobodyForNothing@users.noreply.github.com>
2024-02-06 18:39:15
Fix saving measurements with colors
Signed-off-by: derdilla <82763757+NobodyForNothing@users.noreply.github.com>
1 parent c0cd7dc
Changed files (4)
lib
lib/model/blood_pressure/model.dart
@@ -91,7 +91,7 @@ class BloodPressureModel extends ChangeNotifier {
             'diastolic': measurement.diastolic,
             'pulse': measurement.pulse,
             'notes': measurement.notes,
-            'needlePin': jsonEncode(measurement.needlePin),
+            'needlePin': jsonEncode(measurement.needlePin?.toMap()),
           },
           where: 'timestamp = ?',
           whereArgs: [measurement.creationTime.millisecondsSinceEpoch],);
@@ -102,7 +102,7 @@ class BloodPressureModel extends ChangeNotifier {
         'diastolic': measurement.diastolic,
         'pulse': measurement.pulse,
         'notes': measurement.notes,
-        'needlePin': jsonEncode(measurement.needlePin),
+        'needlePin': jsonEncode(measurement.needlePin?.toMap()),
       });
     }
     notifyListeners();
@@ -163,7 +163,7 @@ class BloodPressureModel extends ChangeNotifier {
           e['diastolic'] as int?,
           e['pulse'] as int?,
           e['notes'].toString(),
-          needlePin: (needlePin != null) ? MeasurementNeedlePin.fromJson(needlePin) : null,
+          needlePin: (needlePin != null) ? MeasurementNeedlePin.fromMap(needlePin) : null,
       ),);
     }
     return records;
lib/model/blood_pressure/needle_pin.dart
@@ -8,7 +8,7 @@ class MeasurementNeedlePin {
   const MeasurementNeedlePin(this.color);
 
   /// Create a instance from a map created by [toMap].
-  MeasurementNeedlePin.fromJson(Map<String, dynamic> json)
+  MeasurementNeedlePin.fromMap(Map<String, dynamic> json)
       : color = Color(json['color']);
   // When updating this, remember to be backwards compatible.
   // (or reimplement the system)
lib/model/export_import/column.dart
@@ -75,7 +75,7 @@ class NativeColumn extends ExportColumn {
         final json = jsonDecode(pattern);
         if (json is! Map<String, dynamic>) return null;
         try {
-          return MeasurementNeedlePin.fromJson(json);
+          return MeasurementNeedlePin.fromMap(json);
         } on FormatException {
           return null;
         }
lib/model/export_import/record_formatter.dart
@@ -60,7 +60,7 @@ class ScriptedFormatter implements Formatter {
         final num = int.tryParse(text);
         if (num != null) return MeasurementNeedlePin(Color(num));
         try {
-          return MeasurementNeedlePin.fromJson(jsonDecode(text));
+          return MeasurementNeedlePin.fromMap(jsonDecode(text));
         } catch (e) {
           assert(e is FormatException || e is TypeError);
           return null;