hemanthrajv / flutter_compass

MIT License
98 stars 141 forks source link

Resolve issue with sensor listeners continuing to try and send events to Flutter after event channel was shutdown. #84

Open thzero opened 2 years ago

thzero commented 2 years ago

Updates to resolve issue with sensor listeners continuing to try and send events to Flutter after event channel was shutdown.

Example of the output from the debug console after the activity was killed. Issue is that the setStreamHandler was using another instances of the FlutterCompassPlugin unnecessarily and then was never calling unregisterListener on the sensorManager to unregister listeners.

This corrects the issue by not creating a new instance of the FlutterCompassPlugin, then calling the unregisterListener in the detach from activity event.

Example of the output from the debug channel..

W/FlutterJNI(17292): Tried to send a platform message to Flutter, but FlutterJNI was detached from native C++. Could not send. Channel: hemanthraj/flutter_compass. Response ID: 23 W/FlutterJNI(17292): Tried to send a platform message to Flutter, but FlutterJNI was detached from native C++. Could not send. Channel: hemanthraj/flutter_compass. Response ID: 24 W/FlutterJNI(17292): Tried to send a platform message to Flutter, but FlutterJNI was detached from native C++. Could not send. Channel: hemanthraj/flutter_compass. Response ID: 25 W/FlutterJNI(17292): Tried to send a platform message to Flutter, but FlutterJNI was detached from native C++. Could not send. Channel: hemanthraj/flutter_compass. Response ID: 26 W/FlutterJNI(17292): Tried to send a platform message to Flutter, but FlutterJNI was detached from native C++. Could not send. Channel: hemanthraj/flutter_compass. Response ID: 27 W/FlutterJNI(17292): Tried to send a platform message to Flutter, but FlutterJNI was detached from native C++. Could not send. Channel: hemanthraj/flutter_compass. Response ID: 28 W/FlutterJNI(17292): Tried to send a platform message to Flutter, but FlutterJNI was detached from native C++. Could not send. Channel: hemanthraj/flutter_compass. Response ID: