Commit abf2983

derdilla <82763757+derdilla@users.noreply.github.com>
2025-03-17 14:14:58
Cleanup remaining warnings (#544)
* cleanup remaining warnings * remove unused import
1 parent f7c75ec
Changed files (11)
app
integration_test
lib
features
input
old_bluetooth
model
blood_pressure
export_import
screens
test
features
model
app/integration_test/screenshot_home.dart
@@ -73,44 +73,3 @@ bool Function(Element e) _colored(Color color) => (e) =>
   e.widget is Container &&
     (e.widget as Container).decoration is BoxDecoration &&
       ((e.widget as Container).decoration as BoxDecoration).color == color;
-
-// Copy of app method
-ThemeData _buildTheme(ColorScheme colorScheme) {
-  final inputBorder = OutlineInputBorder(
-    borderSide: BorderSide(
-      width: 3,
-      // Through black background outlineVariant has enough contrast.
-      color: (colorScheme.brightness == Brightness.dark)
-          ? colorScheme.outlineVariant
-          : colorScheme.outline,
-    ),
-    borderRadius: BorderRadius.circular(20),
-  );
-
-  return ThemeData(
-    colorScheme: colorScheme,
-    useMaterial3: true,
-    inputDecorationTheme: InputDecorationTheme(
-      errorMaxLines: 5,
-      border: inputBorder,
-      enabledBorder: inputBorder,
-    ),
-    scaffoldBackgroundColor: colorScheme.brightness == Brightness.dark
-        ? Colors.black
-        : Colors.white,
-    appBarTheme: const AppBarTheme(
-      centerTitle: true,
-      shape: RoundedRectangleBorder(
-        borderRadius: BorderRadius.only(
-          bottomRight: Radius.circular(15),
-          bottomLeft: Radius.circular(15),
-        ),
-      ),
-    ),
-    snackBarTheme: SnackBarThemeData(
-      shape: RoundedRectangleBorder(
-        borderRadius: BorderRadius.circular(8),
-      ),
-    ),
-  );
-}
app/integration_test/screenshot_input.dart
@@ -100,44 +100,3 @@ bool Function(Element e) _colored(Color color) => (e) =>
   e.widget is Container &&
     (e.widget as Container).decoration is BoxDecoration &&
       ((e.widget as Container).decoration as BoxDecoration).color == color;
-
-// Copy of app method
-ThemeData _buildTheme(ColorScheme colorScheme) {
-  final inputBorder = OutlineInputBorder(
-    borderSide: BorderSide(
-      width: 3,
-      // Through black background outlineVariant has enough contrast.
-      color: (colorScheme.brightness == Brightness.dark)
-          ? colorScheme.outlineVariant
-          : colorScheme.outline,
-    ),
-    borderRadius: BorderRadius.circular(20),
-  );
-
-  return ThemeData(
-    colorScheme: colorScheme,
-    useMaterial3: true,
-    inputDecorationTheme: InputDecorationTheme(
-      errorMaxLines: 5,
-      border: inputBorder,
-      enabledBorder: inputBorder,
-    ),
-    scaffoldBackgroundColor: colorScheme.brightness == Brightness.dark
-        ? Colors.black
-        : Colors.white,
-    appBarTheme: const AppBarTheme(
-      centerTitle: true,
-      shape: RoundedRectangleBorder(
-        borderRadius: BorderRadius.only(
-          bottomRight: Radius.circular(15),
-          bottomLeft: Radius.circular(15),
-        ),
-      ),
-    ),
-    snackBarTheme: SnackBarThemeData(
-      shape: RoundedRectangleBorder(
-        borderRadius: BorderRadius.circular(8),
-      ),
-    ),
-  );
-}
app/lib/features/input/forms/add_entry_form.dart
@@ -1,8 +1,6 @@
 import 'package:blood_pressure_app/features/bluetooth/backend/bluetooth_backend.dart';
 import 'package:blood_pressure_app/features/bluetooth/bluetooth_input.dart';
-import 'package:blood_pressure_app/features/bluetooth/logic/ble_read_cubit.dart';
 import 'package:blood_pressure_app/features/bluetooth/logic/bluetooth_cubit.dart';
-import 'package:blood_pressure_app/features/bluetooth/logic/device_scan_cubit.dart';
 import 'package:blood_pressure_app/features/input/forms/blood_pressure_form.dart';
 import 'package:blood_pressure_app/features/input/forms/date_time_form.dart';
 import 'package:blood_pressure_app/features/input/forms/form_base.dart';
app/lib/features/old_bluetooth/bluetooth_input.dart
@@ -15,7 +15,7 @@ import 'package:blood_pressure_app/logging.dart';
 import 'package:blood_pressure_app/model/storage/storage.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
-import 'package:flutter_blue_plus/flutter_blue_plus.dart' show BluetoothDevice, Guid;
+import 'package:flutter_blue_plus/flutter_blue_plus.dart' show Guid;
 import 'package:flutter_gen/gen_l10n/app_localizations.dart';
 import 'package:health_data_store/health_data_store.dart';
 
app/lib/model/blood_pressure/model.dart
@@ -18,13 +18,6 @@ class BloodPressureModel extends ChangeNotifier {
 
   late final Database _database;
 
-  FutureOr<void> _onDBCreate(Database db, int version) => db.execute('CREATE TABLE bloodPressureModel('
-        'timestamp INTEGER(14) PRIMARY KEY,'
-        'systolic INTEGER, diastolic INTEGER,'
-        'pulse INTEGER,'
-        'notes STRING,'
-        'needlePin STRING)');
-
   FutureOr<void> _onDBUpgrade(Database db, int oldVersion, int newVersion) async {
     // When adding more versions the upgrade procedure proposed in https://stackoverflow.com/a/75153875/21489239
     // might be useful, to avoid duplicated code. Currently this would only lead to complexity, without benefits.
app/lib/model/export_import/import_field_type.dart
@@ -1,9 +1,7 @@
 import 'package:blood_pressure_app/model/blood_pressure/needle_pin.dart';
 import 'package:blood_pressure_app/model/export_import/record_formatter.dart';
-import 'package:flutter/material.dart';
 import 'package:flutter_gen/gen_l10n/app_localizations.dart';
 
-
 /// Type a [Formatter] can uses to indicate the kind of data returned.
 enum RowDataFieldType {
   /// Guarantees [DateTime] is returned.
app/lib/screens/settings_screen.dart
@@ -1,5 +1,4 @@
 import 'dart:io';
-import 'dart:typed_data';
 
 import 'package:archive/archive_io.dart';
 import 'package:blood_pressure_app/components/input_dialoge.dart';
@@ -346,16 +345,11 @@ class SettingsPage extends StatelessWidget {
                       messenger.showSnackBar(SnackBar(content: Text(localizations.errCantCreateArchive)));
                       return;
                     }
-                    final compressedArchive = ZipEncoder().encode(archive);
-                    if (compressedArchive == null) {
-                      messenger.showSnackBar(SnackBar(content: Text(localizations.errCantCreateArchive)));
-                      return;
-                    }
-                    final archiveData = Uint8List.fromList(compressedArchive);
+                    final compressedArchive = ZipEncoder().encodeBytes(archive);
                     await FilePicker.platform.saveFile(
                       type: FileType.any, // application/zip
                       fileName: 'bloodPressureSettings.zip',
-                      bytes: archiveData,
+                      bytes: compressedArchive,
                     );
                   },
                 ),
app/test/features/bluetooth/mock/fake_characteristic.dart
@@ -63,10 +63,6 @@ class FakeBleBpCharacteristic implements BluetoothCharacteristic {
   // TODO: implement remoteId
   DeviceIdentifier get remoteId => throw UnimplementedError();
 
-  @override
-  // TODO: implement secondaryServiceUuid
-  Guid? get secondaryServiceUuid => throw UnimplementedError();
-
   @override
   // TODO: implement serviceUuid
   Guid get serviceUuid => throw UnimplementedError();
app/test/features/measurement_list/weight_list_test.dart
@@ -56,7 +56,7 @@ void main() {
       intervallStoreManager: IntervalStoreManager(interval, IntervalStorage(), IntervalStorage()),
       const WeightList(rangeType: IntervalStoreManagerLocation.mainPage),
     ));
-    final localizations = await AppLocalizations.delegate.load(const Locale('en'))!;
+    final localizations = await AppLocalizations.delegate.load(const Locale('en'));
     await tester.pumpAndSettle();
 
     expect(find.text('123 kg'), findsOneWidget);
@@ -91,7 +91,7 @@ void main() {
       settings: Settings(confirmDeletion: false),
       const WeightList(rangeType: IntervalStoreManagerLocation.mainPage),
     ));
-    final localizations = await AppLocalizations.delegate.load(const Locale('en'))!;
+    final localizations = await AppLocalizations.delegate.load(const Locale('en'));
     await tester.pumpAndSettle();
 
     expect(find.text('123 kg'), findsOneWidget);
app/test/features/statistics/statistics_test.dart
@@ -1,87 +1,3 @@
-import 'package:blood_pressure_app/model/storage/export_csv_settings_store.dart';
-import 'package:blood_pressure_app/model/storage/export_pdf_settings_store.dart';
-import 'package:blood_pressure_app/model/storage/export_settings_store.dart';
-import 'package:blood_pressure_app/model/storage/interval_store.dart';
-import 'package:blood_pressure_app/model/storage/settings_store.dart';
-import 'package:blood_pressure_app/screens/statistics_screen.dart';
-import 'package:flutter_test/flutter_test.dart';
-import 'package:health_data_store/health_data_store.dart';
-
-import '../../util.dart';
-
 void main() {
-  /*testWidgets('should load page', (tester) async {
-    await _initStatsPage(tester, []);
-    expect(tester.takeException(), isNull);
-
-    final localizations = await AppLocalizations.delegate.load(const Locale('en'));
-    expect(find.text(localizations.statistics), findsAtLeast(1));
-    expect(find.text(localizations.valueDistribution), findsOneWidget);
-    expect(find.text(localizations.timeResolvedMetrics, skipOffstage: false),
-        findsOneWidget,);
-  });
-  testWidgets('should report measurement count', (tester) async {
-    await _initStatsPage(tester, [
-      for (int i = 1; i<51; i++) // can't safe entries at or before epoch
-        mockRecord(time: DateTime.fromMillisecondsSinceEpoch(1582991592 + i),
-          sys: i, dia: 60+i, pul: 110+i,),
-    ], intervallStoreManager: IntervallStoreManager(IntervallStorage(),
-        IntervallStorage(), IntervallStorage(stepSize: TimeStep.lifetime,),),);
-    final localizations = await AppLocalizations.delegate.load(const Locale('en'));
-
-    expect(find.text(localizations.measurementCount), findsOneWidget);
-
-    final measurementCountWidget = find.ancestor(
-      of: find.text(localizations.measurementCount),
-      matching: find.byType(ListTile),
-    );
-    expect(measurementCountWidget, findsOneWidget);
-    expect(find.descendant(
-        of: measurementCountWidget,
-        matching: find.text('49'),
-    ), findsNothing,);
-    expect(find.descendant(
-      of: measurementCountWidget,
-      matching: find.text('51'),
-    ), findsNothing,);
-    expect(find.descendant(
-      of: measurementCountWidget,
-      matching: find.text('50'),
-    ), findsOneWidget,);
-  });
-  testWidgets("should not display 'null' or -1", (tester) async {
-    await _initStatsPage(tester, [
-      mockRecord(time: DateTime.fromMillisecondsSinceEpoch(1), sys: 40, dia: 60),
-      mockRecord(time: DateTime.fromMillisecondsSinceEpoch(2),),
-    ], intervallStoreManager: IntervallStoreManager(IntervallStorage(),
-        IntervallStorage(), IntervallStorage(stepSize: TimeStep.lifetime),),);
-    expect(find.textContaining('-1'), findsNothing);
-    expect(find.textContaining('null'), findsNothing);
-  });
-  testWidgets("should not display 'null' when empty", (tester) async {
-    await _initStatsPage(tester, [],
-        intervallStoreManager: IntervallStoreManager(
-          IntervallStorage(), IntervallStorage(),
-          IntervallStorage(stepSize: TimeStep.lifetime,),),);
-    expect(find.textContaining('-1'), findsNothing);
-    expect(find.textContaining('null'), findsNothing);
-  });*/
-}
-
-Future<void> _initStatsPage(WidgetTester tester, List<BloodPressureRecord> records, {
-  Settings? settings,
-  ExportSettings? exportSettings,
-  CsvExportSettings? csvExportSettings,
-  PdfExportSettings? pdfExportSettings,
-  IntervalStoreManager? intervallStoreManager,
-}) async {
-  await tester.pumpWidget(await appBaseWithData(const StatisticsScreen(),
-    records: records,
-    settings: settings,
-    exportSettings: exportSettings,
-    csvExportSettings: csvExportSettings,
-    pdfExportSettings: pdfExportSettings,
-    intervallStoreManager: intervallStoreManager,
-  ));
-  await tester.pumpAndSettle();
+  // TODO: test for statistics screen
 }
app/test/model/export_import/pdf_converter_test.dart
@@ -5,10 +5,7 @@ import 'package:blood_pressure_app/model/storage/settings_store.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_gen/gen_l10n/app_localizations.dart';
 import 'package:flutter_test/flutter_test.dart';
-import 'package:health_data_store/health_data_store.dart';
-
 import 'csv_converter_test.dart';
-import 'record_formatter_test.dart';
 
 void main() {
   test('should not return empty data', () async {