From f00c21be91e4450b930cf1e36e4a79deb47c734c Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 29 Sep 2023 16:00:28 +0200 Subject: [PATCH] Update recording indicator + added remote recording indicator --- .../viewmodel/AccountCreationViewModel.kt | 2 +- .../ui/call/fragment/ActiveCallFragment.kt | 9 ------ .../ui/call/viewmodel/CurrentCallViewModel.kt | 13 ++++++--- .../shape_remote_recording_background.xml | 6 ++++ app/src/main/res/drawable/trusted.xml | 29 ++++++------------- .../main/res/layout/call_active_fragment.xml | 29 +++++++++++++++++++ app/src/main/res/values/strings.xml | 3 +- 7 files changed, 55 insertions(+), 36 deletions(-) create mode 100644 app/src/main/res/drawable/shape_remote_recording_background.xml diff --git a/app/src/main/java/org/linphone/ui/assistant/viewmodel/AccountCreationViewModel.kt b/app/src/main/java/org/linphone/ui/assistant/viewmodel/AccountCreationViewModel.kt index 46add65b5..10bdcfc14 100644 --- a/app/src/main/java/org/linphone/ui/assistant/viewmodel/AccountCreationViewModel.kt +++ b/app/src/main/java/org/linphone/ui/assistant/viewmodel/AccountCreationViewModel.kt @@ -283,7 +283,7 @@ class AccountCreationViewModel @UiThread constructor() : ViewModel() { for (dialPlan in dialPlans) { dialPlansList.add(dialPlan) dialPlansLabelList.add( - "${dialPlan.flag} +${dialPlan.countryCallingCode} | ${dialPlan.country}" + "${dialPlan.flag} ${dialPlan.country} | +${dialPlan.countryCallingCode}" ) } diff --git a/app/src/main/java/org/linphone/ui/call/fragment/ActiveCallFragment.kt b/app/src/main/java/org/linphone/ui/call/fragment/ActiveCallFragment.kt index f4788ca6d..9600f89cb 100644 --- a/app/src/main/java/org/linphone/ui/call/fragment/ActiveCallFragment.kt +++ b/app/src/main/java/org/linphone/ui/call/fragment/ActiveCallFragment.kt @@ -228,15 +228,6 @@ class ActiveCallFragment : GenericCallFragment() { } } - callViewModel.isRecording.observe(viewLifecycleOwner) { recording -> - val text = if (recording) { - getString(R.string.toast_call_recording_started) - } else { - getString(R.string.toast_call_recording_stopped) - } - (requireActivity() as CallActivity).showGreenToast(text, R.drawable.record) - } - actionsBottomSheetBehavior.addBottomSheetCallback(object : BottomSheetBehavior.BottomSheetCallback() { override fun onStateChanged(bottomSheet: View, newState: Int) { when (newState) { diff --git a/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt b/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt index 2a36ef3c3..288d4c44d 100644 --- a/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt +++ b/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt @@ -74,6 +74,8 @@ class CurrentCallViewModel @UiThread constructor() : ViewModel() { val isRecording = MutableLiveData() + val isRemoteRecording = MutableLiveData() + val isMicrophoneMuted = MutableLiveData() val isSpeakerEnabled = MutableLiveData() @@ -151,6 +153,11 @@ class CurrentCallViewModel @UiThread constructor() : ViewModel() { updateEncryption() } + override fun onRemoteRecording(call: Call, recording: Boolean) { + Log.i("$TAG Remote recording changed: $recording") + isRemoteRecording.postValue(recording) + } + @WorkerThread override fun onStateChanged(call: Call, state: Call.State, message: String) { Log.i("$TAG Call [${call.remoteAddress.asStringUriOnly()}] state changed [$state]") @@ -630,10 +637,8 @@ class CurrentCallViewModel @UiThread constructor() : ViewModel() { isOutgoing.postValue(call.dir == Call.Dir.Outgoing) - if (call.params.isRecording) { - // Do not set it to false to prevent the "no longer recording" toast to be displayed - isRecording.postValue(true) - } + isRecording.postValue(call.params.isRecording) + isRemoteRecording.postValue(call.remoteParams?.isRecording) val address = call.remoteAddress.clone() address.clean() diff --git a/app/src/main/res/drawable/shape_remote_recording_background.xml b/app/src/main/res/drawable/shape_remote_recording_background.xml new file mode 100644 index 000000000..f46a6e1cc --- /dev/null +++ b/app/src/main/res/drawable/shape_remote_recording_background.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/trusted.xml b/app/src/main/res/drawable/trusted.xml index de46bb278..c72c40d28 100644 --- a/app/src/main/res/drawable/trusted.xml +++ b/app/src/main/res/drawable/trusted.xml @@ -1,23 +1,12 @@ - - - - + + diff --git a/app/src/main/res/layout/call_active_fragment.xml b/app/src/main/res/layout/call_active_fragment.xml index f000cea8c..c8e0cd96a 100644 --- a/app/src/main/res/layout/call_active_fragment.xml +++ b/app/src/main/res/layout/call_active_fragment.xml @@ -215,6 +215,35 @@ app:layout_constraintHeight_max="200dp" app:layout_constraintWidth_max="200dp" /> + + + + Ended Calls list Transfer call to + %s is recording Call is being transferred to %s Call has been transferred to %s Call transfer to %s failed! - Call is being recorded - Call is no longer being recorded Skip