sendMemberStateEvent method
Future<void>
sendMemberStateEvent(
)
Implementation
Future<void> sendMemberStateEvent() async {
await room.updateFamedlyCallMemberStateEvent(
CallMembership(
userId: client.userID!,
roomId: room.id,
callId: groupCallId,
application: application,
scope: scope,
backend: backend,
deviceId: client.deviceID!,
expiresTs: DateTime.now()
.add(CallTimeouts.expireTsBumpDuration)
.millisecondsSinceEpoch,
membershipId: voip.currentSessionId,
feeds: backend.getCurrentFeeds(),
),
);
if (_resendMemberStateEventTimer != null) {
_resendMemberStateEventTimer!.cancel();
}
_resendMemberStateEventTimer = Timer.periodic(
CallTimeouts.updateExpireTsTimerDuration, ((timer) async {
Logs().d('sendMemberStateEvent updating member event with timer');
if (state != GroupCallState.ended ||
state != GroupCallState.localCallFeedUninitialized) {
await sendMemberStateEvent();
} else {
Logs().d(
'[VOIP] deteceted groupCall in state $state, removing state event');
await removeMemberStateEvent();
}
}));
}