From 668fd1d78a3056452c13f4d12ab77bb738e67c10 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 11 Feb 2022 15:25:25 +0100 Subject: [PATCH] Fixed toggling off full screen mode in active speaker if currently speaking participant is audio only + started to add audio only layout & participant muted icon --- .../data/ConferenceParticipantDeviceData.kt | 3 +++ .../voip/viewmodels/ConferenceViewModel.kt | 2 ++ .../voip_conference_audio_only.png | Bin 0 -> 1260 bytes .../icon_conference_layout_audio_only.xml | 7 +++++++ app/src/main/res/drawable/icon_mic_muted.xml | 7 +++++++ .../layout/voip_conference_active_speaker.xml | 2 +- .../layout/voip_conference_layout_fragment.xml | 16 ++++++++++++++++ ...ticipant_remote_active_speaker_miniature.xml | 14 +++++++++++++- .../voip_conference_participant_remote_grid.xml | 14 +++++++++++++- app/src/main/res/values/dimen.xml | 1 + app/src/main/res/values/strings.xml | 2 ++ 11 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 app/src/main/res/drawable-xhdpi/voip_conference_audio_only.png create mode 100644 app/src/main/res/drawable/icon_conference_layout_audio_only.xml create mode 100644 app/src/main/res/drawable/icon_mic_muted.xml diff --git a/app/src/main/java/org/linphone/activities/voip/data/ConferenceParticipantDeviceData.kt b/app/src/main/java/org/linphone/activities/voip/data/ConferenceParticipantDeviceData.kt index 762f58b48..a6a1e8f54 100644 --- a/app/src/main/java/org/linphone/activities/voip/data/ConferenceParticipantDeviceData.kt +++ b/app/src/main/java/org/linphone/activities/voip/data/ConferenceParticipantDeviceData.kt @@ -39,6 +39,8 @@ class ConferenceParticipantDeviceData( val activeSpeaker = MutableLiveData() + val micMuted = MutableLiveData() + val isInConference = MutableLiveData() private var textureView: TextureView? = null @@ -95,6 +97,7 @@ class ConferenceParticipantDeviceData( activeSpeaker.value = false videoEnabled.value = participantDevice.getStreamAvailability(StreamType.Video) + micMuted.value = false // TODO isInConference.value = participantDevice.isInConference val videoCapability = participantDevice.getStreamCapability(StreamType.Video) diff --git a/app/src/main/java/org/linphone/activities/voip/viewmodels/ConferenceViewModel.kt b/app/src/main/java/org/linphone/activities/voip/viewmodels/ConferenceViewModel.kt index 38fef36ba..5e01189cd 100644 --- a/app/src/main/java/org/linphone/activities/voip/viewmodels/ConferenceViewModel.kt +++ b/app/src/main/java/org/linphone/activities/voip/viewmodels/ConferenceViewModel.kt @@ -45,6 +45,7 @@ class ConferenceViewModel : ViewModel() { val conferenceParticipantDevices = MutableLiveData>() val conferenceMosaicDisplayMode = MutableLiveData() val conferenceActiveSpeakerDisplayMode = MutableLiveData() + val conferenceAudioOnlyDisplayMode = MutableLiveData() val isRecording = MutableLiveData() val isRemotelyRecorded = MutableLiveData() @@ -182,6 +183,7 @@ class ConferenceViewModel : ViewModel() { conferenceParticipantDevices.value = arrayListOf() conferenceMosaicDisplayMode.value = false conferenceActiveSpeakerDisplayMode.value = false + conferenceAudioOnlyDisplayMode.value = false subject.value = AppUtils.getString(R.string.conference_default_title) diff --git a/app/src/main/res/drawable-xhdpi/voip_conference_audio_only.png b/app/src/main/res/drawable-xhdpi/voip_conference_audio_only.png new file mode 100644 index 0000000000000000000000000000000000000000..fd57a3f27e6395ad6cbf7ed19ea01cc010864ba9 GIT binary patch literal 1260 zcmVEX>4Tx04R}tkv&MmKp2MKri!9f2Rn#3WT?7W5EXIMDionYs1;guFuC*(nlvOS zE{=k0!NH%!s)LKOt`4q(Aov5~=;Wm6A|-y86k5c1aCZ;yeecWNcYshUG0kcl2Q=L_ zlku3C&a8?ZuMp6UURpk71x=7pPYq=lj@k>L)<(8MxA${&EeN`6RvC z)FMYf-!^b@-PDvl;Bp5Tcrs*DcBLRqA(sQ*&*+;nK>sb!wdVD$agNgmAVs}O+yDoM zz(}65*L~jI+1j^%Ya0Fg0T}OcgK~Phpa1{>24YJ`L;z<1l>oV$G+_|{000SaNLh0L z01ejw01ejxLMWSf00007bV*G`2j&6`4g&@7(F_;>00QVqL_t(|+U?xWOB7)o$MMg1 zW^MP7WCev1MhFSsN`fFdgaD3kkHlgz`+F`t18ALyVD9awg8(k^mgSKZtD*+by1bX7+(SHFvl9N}l`!{^ z|DZ9Rth8OX1%g+Zp}v_?cyo@ob?&u{)np(qG9#&HfmtCZJ31;tu9*`^kEl#Hx1Npr zJw{_ZSt%;dRrHpKnLW|k84XO3T-H7UplbcV44m=(t;0190CxO7QX0tVzywjTB83NL zMEo8^p`Khb4~BfoA_id)Vh{!)24N6l5C$OzAqHU(@^27Plg%G1koEf;BM?unxhO%( zBJL9a3mcQgeZL2BY-0!F!kATtOE+| z64Aq%dw0f*@pp^%nR+JO{{=v*lC^`Rx4EfvQ}@vY{je4bH&-k&h=<10J)cBy z^Ve`ypjQ~g>nKCL=R@jNuQ^ub*l^$IW(wllueAB`>t@{486@Box%{DR3dammY$8*6 zao#VK;~n=951FONMcKCcQh?ndxIOc!-W-E?Xky~V8i4EELum5^5$LyqjasnGAYKMh z^kL((iq{b*{J6CL!2%!}OIDjQ-Ji3wv!(t6W<*3pL_|bHL_|bHL_|bHL_|bHf%X$c W+0(d@F1m350000 + + + + + diff --git a/app/src/main/res/drawable/icon_mic_muted.xml b/app/src/main/res/drawable/icon_mic_muted.xml new file mode 100644 index 000000000..1ab7fc636 --- /dev/null +++ b/app/src/main/res/drawable/icon_mic_muted.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/app/src/main/res/layout/voip_conference_active_speaker.xml b/app/src/main/res/layout/voip_conference_active_speaker.xml index ee0d898b8..1f03781f3 100644 --- a/app/src/main/res/layout/voip_conference_active_speaker.xml +++ b/app/src/main/res/layout/voip_conference_active_speaker.xml @@ -104,6 +104,7 @@ + + + + diff --git a/app/src/main/res/layout/voip_conference_participant_remote_active_speaker_miniature.xml b/app/src/main/res/layout/voip_conference_participant_remote_active_speaker_miniature.xml index d053de2e4..6db2f0685 100644 --- a/app/src/main/res/layout/voip_conference_participant_remote_active_speaker_miniature.xml +++ b/app/src/main/res/layout/voip_conference_participant_remote_active_speaker_miniature.xml @@ -69,7 +69,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dp" - android:padding="10dp" + android:padding="5dp" android:src="@drawable/icon_call_camera_switch" android:contentDescription="@string/content_description_switch_camera" app:layout_constraintTop_toTopOf="@id/participant_video_surface" @@ -110,6 +110,18 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toTopOf="@id/participant_name"/>--> + + \ No newline at end of file diff --git a/app/src/main/res/layout/voip_conference_participant_remote_grid.xml b/app/src/main/res/layout/voip_conference_participant_remote_grid.xml index 924ffaf1f..4d19167e2 100644 --- a/app/src/main/res/layout/voip_conference_participant_remote_grid.xml +++ b/app/src/main/res/layout/voip_conference_participant_remote_grid.xml @@ -101,12 +101,24 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dp" - android:padding="10dp" + android:padding="5dp" android:src="@drawable/icon_call_camera_switch" android:contentDescription="@string/content_description_switch_camera" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent"/> + + diff --git a/app/src/main/res/values/dimen.xml b/app/src/main/res/values/dimen.xml index 0098f2806..564b5510d 100644 --- a/app/src/main/res/values/dimen.xml +++ b/app/src/main/res/values/dimen.xml @@ -56,4 +56,5 @@ 10dp 60dp 50dp + 30dp \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fca3b40ea..5b3530a5e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -265,6 +265,7 @@ %d participants Mosaic mode Active speaker mode + Audio only mode Start Cancel Video is currently disabled @@ -805,4 +806,5 @@ Show numpad Hide numpad Go to conversations list + Participant has it\'s microphone muted