James McIntosh

Results 45 comments of James McIntosh

@psycura You can also make sure that you're not getting any errors on the stream. ``` BleManager() .startPeripheralScan() .listen( (ScanResult scanResult) { ... }, onError: (Object e) { print("Error listening...

@psycura If you add some breakpoints into `FlutterBleLib/lib/src/bridge/scanning_mixin.dart` you might get some more insight. Such as if the _scanEvents field is null when stopDeviceScan is being called.

@psycura Did it print "Finished listening..." on the first scan too? I'm just getting you to go through the path I would follow if trying to find the source of...

@psycura I assume you added the breakpoints I suggested in `ScanningMixin` to make sure that `ScanningMixin.stopDeviceScan()` is called when you expect it to be in relation to `ScanningMixin.startDeviceScan()` as you...

@psycura The breakpoints in ScanningMixin are there to identify if your code is correctly interfacing with the iOS implementation. From what I have experienced the iOS part is a lot...

There is a simple workaround this which is to either comment out the `_scanSubscription.cancel()` or swap it's order with the stopPeripheralScan call in the refresh method. ``` Future refresh() async...

@kamil-chmiel @psycura @dannyalbuquerque @mikolak Looks like I have found the bottom of the rabbit hole. Android succeeds because has protection in the [EventChannel#L240](https://github.com/flutter/engine/blob/6b621cb467d15d1e05ba53dfa48ab1be0abc45d3/shell/platform/android/io/flutter/plugin/common/EventChannel.java#L240) to stop double submission of "end of...

Hi @michael-ottink, I don't think that I checked it with a profiler, I came to this suggestion from a visual inspection of the code and the reported behaviour around hot...

I profiled it and it is leaking as expected.

To get around the hot restart issue the createClient method can either destroy and recreate or reuse the existing one. After testing out the destroyClient method and it looks like...