import 'package:uvok_epaper_badge/model/device.dart'; import 'package:flutter_blue_plus/flutter_blue_plus.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; } } String firstGiven(List list) { return list.firstWhere((s) => s.isNotEmpty, orElse: () => ""); }