diff --git a/app/src/main/java/org/linphone/ui/call/conference/fragment/ActiveConferenceCallFragment.kt b/app/src/main/java/org/linphone/ui/call/conference/fragment/ActiveConferenceCallFragment.kt
index 078afa3b6..7a011f820 100644
--- a/app/src/main/java/org/linphone/ui/call/conference/fragment/ActiveConferenceCallFragment.kt
+++ b/app/src/main/java/org/linphone/ui/call/conference/fragment/ActiveConferenceCallFragment.kt
@@ -125,10 +125,13 @@ class ActiveConferenceCallFragment : GenericCallFragment() {
callViewModel = requireActivity().run {
ViewModelProvider(this)[CurrentCallViewModel::class.java]
}
+ observeToastEvents(callViewModel)
+ observeToastEvents(callViewModel.conferenceModel)
callsViewModel = requireActivity().run {
ViewModelProvider(this)[CallsViewModel::class.java]
}
+ observeToastEvents(callsViewModel)
binding.lifecycleOwner = viewLifecycleOwner
binding.viewModel = callViewModel
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 72ed16cc2..4a188201a 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
@@ -154,10 +154,12 @@ class ActiveCallFragment : GenericCallFragment() {
callViewModel = requireActivity().run {
ViewModelProvider(this)[CurrentCallViewModel::class.java]
}
+ observeToastEvents(callViewModel)
callsViewModel = requireActivity().run {
ViewModelProvider(this)[CallsViewModel::class.java]
}
+ observeToastEvents(callsViewModel)
binding.lifecycleOwner = viewLifecycleOwner
binding.viewModel = callViewModel
diff --git a/app/src/main/java/org/linphone/ui/call/fragment/EndedCallFragment.kt b/app/src/main/java/org/linphone/ui/call/fragment/EndedCallFragment.kt
index 82f58994c..202ad5527 100644
--- a/app/src/main/java/org/linphone/ui/call/fragment/EndedCallFragment.kt
+++ b/app/src/main/java/org/linphone/ui/call/fragment/EndedCallFragment.kt
@@ -67,6 +67,7 @@ class EndedCallFragment : GenericCallFragment() {
callViewModel = requireActivity().run {
ViewModelProvider(this)[CurrentCallViewModel::class.java]
}
+ observeToastEvents(callViewModel)
binding.lifecycleOwner = viewLifecycleOwner
binding.viewModel = callViewModel
diff --git a/app/src/main/java/org/linphone/ui/call/fragment/IncomingCallFragment.kt b/app/src/main/java/org/linphone/ui/call/fragment/IncomingCallFragment.kt
index 2f9050bba..ea5f9ad57 100644
--- a/app/src/main/java/org/linphone/ui/call/fragment/IncomingCallFragment.kt
+++ b/app/src/main/java/org/linphone/ui/call/fragment/IncomingCallFragment.kt
@@ -55,6 +55,7 @@ class IncomingCallFragment : GenericCallFragment() {
callViewModel = requireActivity().run {
ViewModelProvider(this)[CurrentCallViewModel::class.java]
}
+ observeToastEvents(callViewModel)
binding.lifecycleOwner = viewLifecycleOwner
binding.viewModel = callViewModel
diff --git a/app/src/main/java/org/linphone/ui/call/fragment/OutgoingCallFragment.kt b/app/src/main/java/org/linphone/ui/call/fragment/OutgoingCallFragment.kt
index 954ef7ea4..e4b0bdbd3 100644
--- a/app/src/main/java/org/linphone/ui/call/fragment/OutgoingCallFragment.kt
+++ b/app/src/main/java/org/linphone/ui/call/fragment/OutgoingCallFragment.kt
@@ -56,6 +56,7 @@ class OutgoingCallFragment : GenericCallFragment() {
callViewModel = requireActivity().run {
ViewModelProvider(this)[CurrentCallViewModel::class.java]
}
+ observeToastEvents(callViewModel)
binding.lifecycleOwner = viewLifecycleOwner
binding.viewModel = callViewModel
diff --git a/app/src/main/java/org/linphone/ui/call/fragment/TransferCallFragment.kt b/app/src/main/java/org/linphone/ui/call/fragment/TransferCallFragment.kt
index 1aad00078..dc1209182 100644
--- a/app/src/main/java/org/linphone/ui/call/fragment/TransferCallFragment.kt
+++ b/app/src/main/java/org/linphone/ui/call/fragment/TransferCallFragment.kt
@@ -115,10 +115,12 @@ class TransferCallFragment : GenericCallFragment() {
callViewModel = requireActivity().run {
ViewModelProvider(this)[CurrentCallViewModel::class.java]
}
+ observeToastEvents(callViewModel)
callsViewModel = requireActivity().run {
ViewModelProvider(this)[CallsViewModel::class.java]
}
+ observeToastEvents(callsViewModel)
binding.viewModel = viewModel
binding.callsViewModel = callsViewModel
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 a5b7bab9d..0bc677b1b 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
@@ -358,7 +358,11 @@ class CurrentCallViewModel
videoUpdateInProgress.postValue(false)
updateCallDuration()
if (corePreferences.automaticallyStartCallRecording) {
- isRecording.postValue(call.params.isRecording)
+ val recording = call.params.isRecording
+ isRecording.postValue(recording)
+ if (recording) {
+ showRecordingToast()
+ }
}
// MediaEncryption None & SRTP won't be notified through onEncryptionChanged callback,
@@ -855,8 +859,12 @@ class CurrentCallViewModel
Log.i("$TAG Starting call recording")
currentCall.startRecording()
}
+
val recording = currentCall.params.isRecording
isRecording.postValue(recording)
+ if (recording) {
+ showRecordingToast()
+ }
}
}
}
@@ -1172,7 +1180,11 @@ class CurrentCallViewModel
contact.postValue(model)
displayedName.postValue(model.friend.name)
- isRecording.postValue(call.params.isRecording)
+ val recording = call.params.isRecording
+ isRecording.postValue(recording)
+ if (recording) {
+ showRecordingToast()
+ }
val isRemoteRecording = call.remoteParams?.isRecording == true
if (isRemoteRecording) {
@@ -1471,4 +1483,16 @@ class CurrentCallViewModel
}
}
}
+
+ @AnyThread
+ private fun showRecordingToast() {
+ showGreenToastEvent.postValue(
+ Event(
+ Pair(
+ R.string.call_is_being_recorded,
+ R.drawable.record_fill
+ )
+ )
+ )
+ }
}
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index c88fb10dc..1661a0b6b 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -633,6 +633,7 @@
Appel chiffré de point à point
Appel non chiffré
Liste des appels
+ L\'appel est enregistré
%s enregistre l\'appel
%s appels
%s appels en pause
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index f23abecea..9d59cdcef 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -673,6 +673,7 @@
Point-to-point encrypted by SRTP
Call is not encrypted
Calls list
+ Call is being recorded
%s is recording
%s calls
%s paused calls