chore: Use onRoomState to monitor group call creation and member join and leave.

This commit is contained in:
cloudwebrtc 2022-08-08 22:50:43 +08:00
parent e78bf3fc09
commit 9695a5ad10
3 changed files with 10 additions and 3 deletions

View File

@ -1098,6 +1098,8 @@ class Client extends MatrixApi {
final CachedStreamController<Event> onGroupMember = CachedStreamController();
final CachedStreamController<Event> onRoomState = CachedStreamController();
/// How long should the app wait until it retrys the synchronisation after
/// an error?
int syncErrorTimeoutSec = 3;

View File

@ -197,6 +197,8 @@ class Room {
}
(states[state.type] ??= {})[stateKey] = state;
client.onRoomState.add(state);
}
/// ID of the fully read marker event.

View File

@ -68,9 +68,12 @@ class VoIP {
client.onAssertedIdentityReceived.stream
.listen((event) => _handleEvent(event, onAssertedIdentityReceived));
client.onGroupCallRequest.stream.listen((event) {
Logs().v('[VOIP] onGroupCallRequest: type ${event.toJson()}.');
onRoomStateChanged(event);
client.onRoomState.stream.listen((event) {
if (event.type == EventTypes.GroupCallMemberPrefix ||
event.type == EventTypes.GroupCallPrefix) {
Logs().v('[VOIP] onRoomState: type ${event.toJson()}.');
onRoomStateChanged(event);
}
});
client.onToDeviceEvent.stream.listen((event) {