onCallAnswered method
Override in subclasses as needed.
Implementation
@override
Future<void> onCallAnswered(RoomClient room) async {
final dismissed = Completer<void>();
void onMessage(RoomEvent message) {
if (message is RoomMessageEvent) {
if (message.message.type == 'dismiss') {
logger.info('dismissed by ${message.message.fromParticipantId}');
if (!dismissed.isCompleted) {
dismissed.complete();
}
}
}
}
room.listen(onMessage);
final Portable agent = factory();
logger.info(
'${room.localParticipant!.getAttribute("name")} answering call and joining room',
);
await agent.start(room: room);
await Future.any([dismissed.future, room.protocol.done]);
await agent.stop();
}