Julian Steenbakker

bug: fixed onDetect not working with analyzeImage

@@ -150,13 +150,12 @@ class MobileScannerController { @@ -150,13 +150,12 @@ class MobileScannerController {
150 return null; 150 return null;
151 } 151 }
152 152
153 - isStarting = true;  
154 -  
155 - events?.cancel();  
156 - events = _eventChannel 153 + events ??= _eventChannel
157 .receiveBroadcastStream() 154 .receiveBroadcastStream()
158 .listen((data) => _handleEvent(data as Map)); 155 .listen((data) => _handleEvent(data as Map));
159 156
  157 + isStarting = true;
  158 +
160 // Check authorization status 159 // Check authorization status
161 if (!kIsWeb) { 160 if (!kIsWeb) {
162 final MobileScannerState state = MobileScannerState 161 final MobileScannerState state = MobileScannerState
@@ -294,6 +293,10 @@ class MobileScannerController { @@ -294,6 +293,10 @@ class MobileScannerController {
294 /// 293 ///
295 /// [path] The path of the image on the devices 294 /// [path] The path of the image on the devices
296 Future<bool> analyzeImage(String path) async { 295 Future<bool> analyzeImage(String path) async {
  296 + events ??= _eventChannel
  297 + .receiveBroadcastStream()
  298 + .listen((data) => _handleEvent(data as Map));
  299 +
297 return _methodChannel 300 return _methodChannel
298 .invokeMethod<bool>('analyzeImage', path) 301 .invokeMethod<bool>('analyzeImage', path)
299 .then<bool>((bool? value) => value ?? false); 302 .then<bool>((bool? value) => value ?? false);