From 429c04e2702f61832a4f2c123f38bae59a98b31d Mon Sep 17 00:00:00 2001 From: uvok Date: Thu, 31 Jul 2025 12:52:30 +0200 Subject: Move devices to package --- .../flutter_blue_plus_scanner_controller.dart | 4 ++-- lib/control/mock_scanner_controller.dart | 2 +- lib/control/scanner_controller.dart | 2 +- lib/control/scanner_controller_impl.dart | 2 +- lib/model/device.dart | 6 ----- lib/model/device/device.dart | 6 +++++ lib/model/device/flutter_blue_plus_device.dart | 22 ++++++++++++++++++ lib/model/device/mock_device.dart | 18 +++++++++++++++ lib/model/device_connection_factory.dart | 4 ++-- lib/model/flutter_blue_plus_device.dart | 27 ---------------------- lib/model/flutter_blue_plus_device_connection.dart | 2 +- lib/model/mock_device.dart | 18 --------------- lib/widgets/device_details.dart | 2 +- lib/widgets/device_scan_select.dart | 2 +- lib/widgets/scan_page.dart | 2 +- 15 files changed, 57 insertions(+), 62 deletions(-) delete mode 100644 lib/model/device.dart create mode 100644 lib/model/device/device.dart create mode 100644 lib/model/device/flutter_blue_plus_device.dart create mode 100644 lib/model/device/mock_device.dart delete mode 100644 lib/model/flutter_blue_plus_device.dart delete mode 100644 lib/model/mock_device.dart diff --git a/lib/control/flutter_blue_plus_scanner_controller.dart b/lib/control/flutter_blue_plus_scanner_controller.dart index 73c1286..13c38c6 100644 --- a/lib/control/flutter_blue_plus_scanner_controller.dart +++ b/lib/control/flutter_blue_plus_scanner_controller.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'package:uvok_epaper_badge/control/scanner_controller_impl.dart'; -import 'package:uvok_epaper_badge/model/flutter_blue_plus_device.dart'; -import 'package:uvok_epaper_badge/model/device.dart'; +import 'package:uvok_epaper_badge/model/device/flutter_blue_plus_device.dart'; +import 'package:uvok_epaper_badge/model/device/device.dart'; import 'package:uvok_epaper_badge/control/scanner_controller.dart'; import 'package:flutter_blue_plus/flutter_blue_plus.dart'; import 'package:logger/logger.dart'; diff --git a/lib/control/mock_scanner_controller.dart b/lib/control/mock_scanner_controller.dart index 2822b8c..3141abc 100644 --- a/lib/control/mock_scanner_controller.dart +++ b/lib/control/mock_scanner_controller.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'package:uvok_epaper_badge/control/scanner_controller.dart'; import 'package:uvok_epaper_badge/control/scanner_controller_impl.dart'; -import 'package:uvok_epaper_badge/model/mock_device.dart'; +import 'package:uvok_epaper_badge/model/device/mock_device.dart'; class MockScannerController extends ScannerControllerImpl { static final List fakedDevices = [ diff --git a/lib/control/scanner_controller.dart b/lib/control/scanner_controller.dart index d004fd9..8936e86 100644 --- a/lib/control/scanner_controller.dart +++ b/lib/control/scanner_controller.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:uvok_epaper_badge/model/device.dart'; +import 'package:uvok_epaper_badge/model/device/device.dart'; /// Represents the scan status. enum ScanStatus { idle, scanning, finished, error } diff --git a/lib/control/scanner_controller_impl.dart b/lib/control/scanner_controller_impl.dart index 7033542..427a3e8 100644 --- a/lib/control/scanner_controller_impl.dart +++ b/lib/control/scanner_controller_impl.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'package:uvok_epaper_badge/control/scanner_controller.dart'; import 'package:meta/meta.dart'; -import 'package:uvok_epaper_badge/model/device.dart'; +import 'package:uvok_epaper_badge/model/device/device.dart'; /// Helper class which provides the setStatus method. abstract class ScannerControllerImpl extends ScannerController { diff --git a/lib/model/device.dart b/lib/model/device.dart deleted file mode 100644 index 98445fa..0000000 --- a/lib/model/device.dart +++ /dev/null @@ -1,6 +0,0 @@ -/// Represents a (badge) device to be connected to. -abstract class Device { - String? get name; - String? get address; - int? get rssi; -} diff --git a/lib/model/device/device.dart b/lib/model/device/device.dart new file mode 100644 index 0000000..98445fa --- /dev/null +++ b/lib/model/device/device.dart @@ -0,0 +1,6 @@ +/// Represents a (badge) device to be connected to. +abstract class Device { + String? get name; + String? get address; + int? get rssi; +} diff --git a/lib/model/device/flutter_blue_plus_device.dart b/lib/model/device/flutter_blue_plus_device.dart new file mode 100644 index 0000000..e56223b --- /dev/null +++ b/lib/model/device/flutter_blue_plus_device.dart @@ -0,0 +1,22 @@ +import 'package:uvok_epaper_badge/model/device/device.dart'; +import 'package:flutter_blue_plus/flutter_blue_plus.dart'; +import 'package:uvok_epaper_badge/utility.dart'; + +class FlutterBluePlusDevice implements Device { + final ScanResult scanResult; + + FlutterBluePlusDevice.fromScan(this.scanResult); + + @override + String? get address => scanResult.device.remoteId.str; + + @override + String? get name => firstGiven([ + scanResult.device.advName, + scanResult.device.platformName, + "", + ]); + + @override + int? get rssi => scanResult.rssi; +} diff --git a/lib/model/device/mock_device.dart b/lib/model/device/mock_device.dart new file mode 100644 index 0000000..78770e1 --- /dev/null +++ b/lib/model/device/mock_device.dart @@ -0,0 +1,18 @@ +import 'package:uvok_epaper_badge/model/device/device.dart'; + +class MockDevice implements Device { + final int _id; + final String? _name; + + MockDevice(this._id, this._name); + + @override + String? get address => + "AA:BB:CC:DD:EE:${_id.toRadixString(16).padLeft(2, '0')}"; + + @override + String? get name => _name; + + @override + int? get rssi => -60; +} diff --git a/lib/model/device_connection_factory.dart b/lib/model/device_connection_factory.dart index d73db0b..ef845fc 100644 --- a/lib/model/device_connection_factory.dart +++ b/lib/model/device_connection_factory.dart @@ -13,9 +13,9 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -import 'package:uvok_epaper_badge/model/device.dart'; +import 'package:uvok_epaper_badge/model/device/device.dart'; import 'package:uvok_epaper_badge/model/device_connection.dart'; -import 'package:uvok_epaper_badge/model/flutter_blue_plus_device.dart'; +import 'package:uvok_epaper_badge/model/device/flutter_blue_plus_device.dart'; import 'package:uvok_epaper_badge/model/flutter_blue_plus_device_connection.dart'; import 'package:uvok_epaper_badge/model/mock_device_connection.dart'; diff --git a/lib/model/flutter_blue_plus_device.dart b/lib/model/flutter_blue_plus_device.dart deleted file mode 100644 index 101c489..0000000 --- a/lib/model/flutter_blue_plus_device.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:uvok_epaper_badge/model/device.dart'; -import 'package:flutter_blue_plus/flutter_blue_plus.dart'; -import 'package:uvok_epaper_badge/utility.dart'; - -class FlutterBluePlusDevice implements Device { - final ScanResult scanResult; - - @override - String? get address => scanResult.device.remoteId.str; - - @override - String? get name => firstGiven([ - scanResult.device.advName, - scanResult.device.platformName, - "", - ]); - - @override - int? get rssi => scanResult.rssi; - - FlutterBluePlusDevice._(this.scanResult); - - static FlutterBluePlusDevice fromScan(ScanResult scanResult) { - var bleDevice = FlutterBluePlusDevice._(scanResult); - return bleDevice; - } -} diff --git a/lib/model/flutter_blue_plus_device_connection.dart b/lib/model/flutter_blue_plus_device_connection.dart index 2505af5..e5c34aa 100644 --- a/lib/model/flutter_blue_plus_device_connection.dart +++ b/lib/model/flutter_blue_plus_device_connection.dart @@ -19,7 +19,7 @@ import 'package:flutter_blue_plus/flutter_blue_plus.dart'; import 'package:logger/logger.dart'; import 'package:uvok_epaper_badge/first_where_ext.dart'; import 'package:uvok_epaper_badge/model/device_connection.dart'; -import 'package:uvok_epaper_badge/model/flutter_blue_plus_device.dart'; +import 'package:uvok_epaper_badge/model/device/flutter_blue_plus_device.dart'; var logger = Logger(); diff --git a/lib/model/mock_device.dart b/lib/model/mock_device.dart deleted file mode 100644 index 64558c1..0000000 --- a/lib/model/mock_device.dart +++ /dev/null @@ -1,18 +0,0 @@ -import 'package:uvok_epaper_badge/model/device.dart'; - -class MockDevice implements Device { - final int _id; - final String? _name; - - MockDevice(this._id, this._name); - - @override - String? get address => - "AA:BB:CC:DD:EE:${_id.toRadixString(16).padLeft(2, '0')}"; - - @override - String? get name => _name; - - @override - int? get rssi => -60; -} diff --git a/lib/widgets/device_details.dart b/lib/widgets/device_details.dart index f3754d3..81ffb1c 100644 --- a/lib/widgets/device_details.dart +++ b/lib/widgets/device_details.dart @@ -13,7 +13,7 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -import 'package:uvok_epaper_badge/model/device.dart'; +import 'package:uvok_epaper_badge/model/device/device.dart'; import 'package:flutter/material.dart'; import 'package:logger/logger.dart'; import 'package:uvok_epaper_badge/model/device_connection.dart'; diff --git a/lib/widgets/device_scan_select.dart b/lib/widgets/device_scan_select.dart index c89d3cf..cd65eac 100644 --- a/lib/widgets/device_scan_select.dart +++ b/lib/widgets/device_scan_select.dart @@ -13,7 +13,7 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -import 'package:uvok_epaper_badge/model/device.dart'; +import 'package:uvok_epaper_badge/model/device/device.dart'; import 'package:flutter/material.dart'; import 'package:uvok_epaper_badge/widgets/notifying_list_widget.dart'; diff --git a/lib/widgets/scan_page.dart b/lib/widgets/scan_page.dart index 5c9c3dd..2cae748 100644 --- a/lib/widgets/scan_page.dart +++ b/lib/widgets/scan_page.dart @@ -16,7 +16,7 @@ import 'package:uvok_epaper_badge/control/scanner_controller.dart'; import 'package:uvok_epaper_badge/widgets/device_details.dart'; import 'package:uvok_epaper_badge/widgets/device_scan_select.dart'; -import 'package:uvok_epaper_badge/model/device.dart'; +import 'package:uvok_epaper_badge/model/device/device.dart'; import 'package:flutter/material.dart'; import 'package:logger/logger.dart'; import 'package:permission_handler/permission_handler.dart'; -- cgit v1.2.3