Commit 57c41b4
Changed files (2)
lib
model
screens
subsettings
lib/model/export_import.dart
@@ -28,6 +28,21 @@ class DataExporter {
}
}
+ List<BloodPressureRecord>? parseFile(Uint8List data) {
+ switch(settings.exportFormat) {
+ case ExportFormat.csv:
+ try {
+ return parseCSVFile(data);
+ } catch (e) {
+ return null;
+ }
+ case ExportFormat.pdf:
+ return null;
+ case ExportFormat.db:
+ throw UnimplementedError('TODO');
+ }
+ }
+
Uint8List createCSVCFile(List<BloodPressureRecord> records) {
List<String> exportItems;
if (settings.exportCustomEntries) {
lib/screens/subsettings/export_import_screen.dart
@@ -274,17 +274,17 @@ class _ExportImportScreenState extends State<ExportImportScreen> {
return;
}
- try {
- var fileContents = DataExporter(settings).parseCSVFile(binaryContent);
- ScaffoldMessenger.of(context).showSnackBar(SnackBar(
- content: Text(AppLocalizations.of(context)!.importSuccess(fileContents.length))));
- var model = Provider.of<BloodPressureModel>(context, listen: false);
- for (final e in fileContents) {
- model.add(e);
- }
- } catch (e) {
+ var fileContents = DataExporter(settings).parseFile(binaryContent);
+ if (fileContents == null) {
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: Text(AppLocalizations.of(context)!.errNotImportable)));
+ return;
+ }
+ ScaffoldMessenger.of(context).showSnackBar(SnackBar(
+ content: Text(AppLocalizations.of(context)!.importSuccess(fileContents.length))));
+ var model = Provider.of<BloodPressureModel>(context, listen: false);
+ for (final e in fileContents) {
+ model.add(e);
}
},
)