segmentio / analytics_flutter

The hassle-free way to add Segment analytics to your Flutter app.
MIT License
26 stars 33 forks source link

java.lang.IllegalStateException: Reply already submitted on getAdvertisingId #76

Closed Chinmay-KB closed 1 month ago

Chinmay-KB commented 1 month ago

Logs

E/MethodChannel#plugin_advertising_id(19352): Failed to handle method call
E/MethodChannel#plugin_advertising_id(19352): java.lang.IllegalStateException: Reply already submitted
E/MethodChannel#plugin_advertising_id(19352):   at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:431)
E/MethodChannel#plugin_advertising_id(19352):   at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:272)
E/MethodChannel#plugin_advertising_id(19352):   at com.segment.plugin_advertising_id.PluginAdvertisingIdPlugin.onMethodCall(PluginAdvertisingIdPlugin.kt:48)
E/MethodChannel#plugin_advertising_id(19352):   at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267)
E/MethodChannel#plugin_advertising_id(19352):   at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292)
E/MethodChannel#plugin_advertising_id(19352):   at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
E/MethodChannel#plugin_advertising_id(19352):   at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12)
E/MethodChannel#plugin_advertising_id(19352):   at io.flutter.embedding.engine.dart.DartMessenger$SerialTaskQueue.flush(DartMessenger.java:173)
E/MethodChannel#plugin_advertising_id(19352):   at io.flutter.embedding.engine.dart.DartMessenger$SerialTaskQueue.lambda$dispatch$0$io-flutter-embedding-engine-dart-DartMessenger$SerialTaskQueue(DartMessenger.java:163)
E/MethodChannel#plugin_advertising_id(19352):   at io.flutter.embedding.engine.dart.DartMessenger$SerialTaskQueue$$ExternalSyntheticLambda0.run(Unknown Source:2)
E/MethodChannel#plugin_advertising_id(19352):   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
E/MethodChannel#plugin_advertising_id(19352):   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
E/MethodChannel#plugin_advertising_id(19352):   at java.lang.Thread.run(Thread.java:1012)

This error only occurs when user has isLimitAdTrackingEnabled as true

This is happening because on this line in PluginAdvertisingIdPlugin.kt, result.success is being called twice.