mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 11:28:06 +00:00
Fixes for broadcast mode
This commit is contained in:
parent
6d33515e8e
commit
e6eea07da9
2 changed files with 18 additions and 9 deletions
|
|
@ -236,13 +236,6 @@ class ConferenceWaitingRoomViewModel : MessageNotifierViewModel() {
|
|||
)
|
||||
val areWeListener = myself.role == Participant.Role.Listener
|
||||
isConferenceBroadcastWithListenerRole.value = areWeListener
|
||||
|
||||
if (areWeListener) {
|
||||
callParams.isVideoEnabled = false
|
||||
callParams.videoDirection = MediaDirection.Inactive
|
||||
updateVideoState()
|
||||
updateLayout()
|
||||
}
|
||||
} else {
|
||||
Log.e(
|
||||
"[Conference Waiting Room] Failed to find ourselves in participants info"
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ class ConferenceViewModel : ViewModel() {
|
|||
Log.i(
|
||||
"[Conference] Participant device added: ${participantDevice.address.asStringUriOnly()}"
|
||||
)
|
||||
addParticipantDevice(participantDevice)
|
||||
addParticipantDevice(conference, participantDevice)
|
||||
|
||||
if (conferenceParticipantDevices.value.orEmpty().size == 2) {
|
||||
secondParticipantJoinedEvent.value = Event(true)
|
||||
|
|
@ -628,7 +628,7 @@ class ConferenceViewModel : ViewModel() {
|
|||
moreThanTwoParticipants.value = devices.size > 2
|
||||
}
|
||||
|
||||
private fun addParticipantDevice(device: ParticipantDevice) {
|
||||
private fun addParticipantDevice(conference: Conference, device: ParticipantDevice) {
|
||||
val devices = arrayListOf<ConferenceParticipantDeviceData>()
|
||||
devices.addAll(conferenceParticipantDevices.value.orEmpty())
|
||||
|
||||
|
|
@ -645,6 +645,22 @@ class ConferenceViewModel : ViewModel() {
|
|||
Log.i(
|
||||
"[Conference] New participant device found: ${device.name} (${device.address.asStringUriOnly()})"
|
||||
)
|
||||
|
||||
val conferenceInfo = conference.core.findConferenceInformationFromUri(
|
||||
conference.conferenceAddress
|
||||
)
|
||||
val info = conferenceInfo?.participantInfos?.find {
|
||||
it.address.weakEqual(device.address)
|
||||
}
|
||||
if (info != null) {
|
||||
Log.i("[Conference] New participant role is [${info.role.name}]")
|
||||
val listener =
|
||||
info.role == Participant.Role.Listener || info.role == Participant.Role.Unknown
|
||||
if (listener) {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
val deviceData = ConferenceParticipantDeviceData(device, false)
|
||||
devices.add(deviceData)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue