diff options
author | uvok | 2025-07-31 12:52:30 +0200 |
---|---|---|
committer | uvok | 2025-07-31 12:52:30 +0200 |
commit | 429c04e2702f61832a4f2c123f38bae59a98b31d (patch) | |
tree | dc6af8b0ef6014c250028f69aba38d20ffbe5bb6 /lib/model/device | |
parent | 5bad9664d3783408636e17b3461e19c34135c6b6 (diff) |
Move devices to package
Diffstat (limited to 'lib/model/device')
-rw-r--r-- | lib/model/device/device.dart | 6 | ||||
-rw-r--r-- | lib/model/device/flutter_blue_plus_device.dart | 22 | ||||
-rw-r--r-- | lib/model/device/mock_device.dart | 18 |
3 files changed, 46 insertions, 0 deletions
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, + "<Unknown>", + ]); + + @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; +} |