scanner property
Implementation
late final ModuleInterface scanner = ModuleCustom(
ble: ModuleBle(
uuid: UUID(),
setDevice: (device) {
final sorted = priority.indexed.toList()..sort((a, b) => b.$2 - a.$2);
final list = [
() {
if (!enable[0]) return false;
if (!wearEcg12.scanFilter(device)) return false;
wearEcg12.device = device;
return true;
},
() {
if (!enable[1]) return false;
if (!cardioClick.scanFilter(device)) return false;
cardioClick.device = device;
return true;
},
() {
if (!enable[2]) return false;
if (!wearCardioT.scanFilter(device)) return false;
wearCardioT.device = device;
return true;
},
() {
if (!enable[3]) return false;
if (custom?.scanFilter(device) != true) return false;
custom?.device = device;
return true;
},
];
sorted.firstWhere((e) => list[e.$1].call());
},
scanFilter: (device) {
final wearEcg = Builtin.scanFilterWearEcg(device);
final cardioClick = Builtin.scanFilterCardioClick(device);
final wearCardioT = Builtin.scanFilterWearCardioT(device);
final customScan = custom?.scanFilter(device) ?? false;
if (wearEcg && enable[0]) return true;
if (cardioClick && enable[1]) return true;
if (wearCardioT && enable[2]) return true;
if (customScan && enable[3]) return true;
return false;
},
),
);