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 --- 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 --------------- 8 files changed, 49 insertions(+), 54 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 (limited to 'lib/model') 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; -} -- cgit v1.2.3