-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Closed
flutter/packages
#8483Labels
p: pigeonrelated to pigeon messaging codegen toolrelated to pigeon messaging codegen toolpackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.team-ecosystemOwned by Ecosystem teamOwned by Ecosystem team
Description
Steps to reproduce
Related to #66711
Using type safe event channels, on dart side event channel will be created using following generated code:
Stream<BobEvent> streamEvents({String instanceName = ''}) {
if (instanceName.isNotEmpty) {
instanceName = '.$instanceName';
}
const EventChannel streamEventsChannel = EventChannel(
'dev.flutter.pigeon.bob_interface.EventChannelMethods.streamEvents',
pigeonMethodCodec);
return streamEventsChannel.receiveBroadcastStream().map((dynamic event) {
return event as BobEvent;
});
}
notice that the instance name is not used in the event channel name
on the kotlin side:
abstract class StreamEventsStreamHandler : PigeonEventChannelWrapper<BobEvent> {
companion object {
fun register(messenger: BinaryMessenger, streamHandler: StreamEventsStreamHandler, instanceName: String = "") {
var channelName: String = "dev.flutter.pigeon.bob_interface.EventChannelMethods.streamEvents"
if (instanceName.isNotEmpty()) {
channelName += ".$instanceName"
}
val internalStreamHandler = PigeonStreamHandler<BobEvent>(streamHandler)
EventChannel(messenger, channelName, MessagesPigeonMethodCodec).setStreamHandler(internalStreamHandler)
}
}
}
notice that the instance name is used in the channel name.
so the event channels will not line up on the dart and native sides?
Expected results
dart event channel name should probably be
'dev.flutter.pigeon.bob_interface.EventChannelMethods.streamEvents${instanceName}',
or use naming of messageChannelSuffix which is consistent with other event channels.
Actual results
//
Code sample
// see above
Screenshots or Video
//
Logs
//
Flutter Doctor output
// Flutter 3.27.2
Metadata
Metadata
Assignees
Labels
p: pigeonrelated to pigeon messaging codegen toolrelated to pigeon messaging codegen toolpackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.team-ecosystemOwned by Ecosystem teamOwned by Ecosystem team