talk-android/app
Daniel Calviño Sánchez fe32bc1628
Add helper class to broadcast the local participant state
The LocalStateBroadcaster observes changes in the
LocalCallParticipantModel and notifies other participants in the call as
needed. Although it is created right before joining the call there is a
slim chance of the state changing before the local participant is
actually in the call, but even in that case other participants would not
be notified about the state due to the MessageSender depending on the
list of call participants / peer connections passed to it, which should
not be initialized before the local participant is actually in the call.

There is, however, a race condition that could cause participants to not
be added to the participant list if they join at the same time as the
local participant and a signaling message listing them but not the local
participant as in the call is received once the CallParticipantList was
created, but that is unrelated to the broadcaster and will be fixed
in another commit.

Currently only changes in the audio, speaking and video state are
notified, although in the future it should also notify about the nick,
the raised hand or any other state (but not one-time events, like
reactions). The notifications right now are sent only through data
channels, but at a later point they will be sent also through signaling
messages as needed.

Similarly, although right now it only notifies of changes in the state
it will also take care of notifying other participants about the current
state when they join the call (or the local participant joins).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-01-08 12:35:15 +01:00
..
schemas/com.nextcloud.talk.data.source.local.TalkDatabase add 12.json which includes modifications for "hasArchived" 2024-11-05 13:49:10 +01:00
src Add helper class to broadcast the local participant state 2025-01-08 12:35:15 +01:00
build.gradle fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.8.0 2025-01-08 09:57:44 +00:00
lint.xml Add SPDX header 2024-03-21 18:39:30 +01:00
proguard-rules.pro Add SPDX header 2024-03-17 14:19:56 +01:00