feat: link transit registration to boxing

This commit is contained in:
Misaka_Company
2026-05-15 12:40:10 +08:00
parent b2f2c536cb
commit deb038404a
5 changed files with 445 additions and 29 deletions

View File

@@ -9,19 +9,24 @@ class ScanResult {
}
class ScannerService {
static const _eventChannel =
EventChannel('com.example.pad_scanner/scan');
Stream<ScanResult>? _scanStream;
static const _eventChannel = EventChannel('com.example.pad_scanner/scan');
static Stream<ScanResult>? _sharedScanStream;
Stream<ScanResult> get scanResults {
_scanStream ??= _eventChannel
_sharedScanStream ??= _createSharedScanStream();
return _sharedScanStream!;
}
static Stream<ScanResult> _createSharedScanStream() {
return _eventChannel
.receiveBroadcastStream()
.map((event) => event as Map)
.map((event) => ScanResult(
barcode: event['barcode'] as String? ?? '',
codeType: event['codeType'] as String? ?? 'UNKNOWN',
));
return _scanStream!;
.map(
(event) => ScanResult(
barcode: event['barcode'] as String? ?? '',
codeType: event['codeType'] as String? ?? 'UNKNOWN',
),
)
.asBroadcastStream();
}
}