Skip to content

Commit d887f9e

Browse files
authored
Fix some map events not propagating to flutter side due to excessive re-subscribtions (#805)
1 parent 9a97733 commit d887f9e

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

lib/src/map_events.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ final class _MapEvents {
1616
OnStyleImageUnusedListener? _onStyleImageUnusedListener;
1717
OnResourceRequestListener? _onResourceRequestListener;
1818
late final MethodChannel _channel;
19-
List<_MapEvent> _subscribedEventTypes = [];
19+
List<_MapEvent> subscribedEventTypes = [];
2020

2121
List<_MapEvent> get eventTypes {
2222
final listenersMap = {
@@ -54,15 +54,15 @@ final class _MapEvents {
5454
void updateSubscriptions() {
5555
final newEventTypes = eventTypes;
5656

57-
if (listEquals(newEventTypes, _subscribedEventTypes)) {
57+
if (listEquals(newEventTypes, subscribedEventTypes)) {
5858
return;
5959
}
6060

6161
// let the native side know which events we are interested in
6262
_channel.invokeMethod(
6363
"subscribeToEvents", newEventTypes.map((e) => e.index).toList());
6464

65-
_subscribedEventTypes = newEventTypes;
65+
subscribedEventTypes = newEventTypes;
6666
}
6767

6868
void dispose() {

lib/src/map_widget.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ class _MapWidgetState extends State<MapWidget> {
206206
'mapboxPluginVersion': '2.5.0-rc.1',
207207
'eventTypes': _events.eventTypes.map((e) => e.index).toList(),
208208
};
209+
_events.subscribedEventTypes = _events.eventTypes;
209210

210211
return _mapboxMapsPlatform.buildView(widget.androidHostingMode,
211212
creationParams, onPlatformViewCreated, widget.gestureRecognizers,

0 commit comments

Comments
 (0)