Add name prefix filtering (#45)

* Add name filter

* Change name filter to "prefix"

* Implement namePrefix filtering

* Update lib/src/universal_ble_platform_interface.dart

* Update lib/src/universal_ble_platform_interface.dart

---------

Co-authored-by: fotidim <foti@navideck.com>
This commit is contained in:
Rohit Sangwan
2024-05-17 19:19:30 +05:30
committed by GitHub
parent 77b8658f72
commit 5847bbffc5
9 changed files with 54 additions and 12 deletions
@@ -1,3 +1,4 @@
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:universal_ble/universal_ble.dart';
import 'package:universal_ble_example/data/capabilities.dart';
@@ -10,6 +11,11 @@ class ScannedItemWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
String? name = scanResult.name;
Uint8List? rawManufacturerData = scanResult.manufacturerData;
ManufacturerData? manufacturerData;
if (rawManufacturerData != null && rawManufacturerData.isNotEmpty) {
manufacturerData = ManufacturerData.fromData(rawManufacturerData);
}
if (name == null || name.isEmpty) name = 'NA';
return Padding(
padding: const EdgeInsets.symmetric(horizontal: 8.0),
@@ -23,12 +29,11 @@ class ScannedItemWidget extends StatelessWidget {
children: [
Text(scanResult.deviceId),
Visibility(
visible: scanResult.manufacturerData?.isNotEmpty == true,
visible: manufacturerData != null,
child: Text(
Platform.isWeb || Platform.isDesktop
? ManufacturerData.fromData(scanResult.manufacturerData!)
.toString()
: 'ManufacturerCompanyId: ${ManufacturerData.fromData(scanResult.manufacturerData!).companyIdRadix16}',
? manufacturerData.toString()
: 'ManufacturerCompanyId: ${manufacturerData?.companyIdRadix16}',
),
),
Visibility(