Files
pad_scanner/lib/services/scanner_service.dart
Misaka 960d92e51f feat: add ScannerService with EventChannel
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-07 19:55:29 +08:00

28 lines
693 B
Dart

import 'dart:async';
import 'package:flutter/services.dart';
class ScanResult {
final String barcode;
final String codeType;
ScanResult({required this.barcode, required this.codeType});
}
class ScannerService {
static const _eventChannel =
EventChannel('com.example.pad_scanner/scan');
Stream<ScanResult>? _scanStream;
Stream<ScanResult> get scanResults {
_scanStream ??= _eventChannel
.receiveBroadcastStream()
.map((event) => event as Map)
.map((event) => ScanResult(
barcode: event['barcode'] as String? ?? '',
codeType: event['codeType'] as String? ?? 'UNKNOWN',
));
return _scanStream!;
}
}