Fixed recordings list not updated when a recorded call is terminated and we go back to the fragment

This commit is contained in:
Sylvain Berfini 2022-02-09 12:15:17 +01:00
parent 7219cfbdf7
commit c8bd7ea229
2 changed files with 12 additions and 3 deletions

View file

@ -29,6 +29,7 @@ import org.linphone.activities.main.fragments.MasterFragment
import org.linphone.activities.main.recordings.adapters.RecordingsListAdapter
import org.linphone.activities.main.recordings.data.RecordingData
import org.linphone.activities.main.recordings.viewmodels.RecordingsViewModel
import org.linphone.core.tools.Log
import org.linphone.databinding.RecordingsFragmentBinding
import org.linphone.utils.AppUtils
import org.linphone.utils.RecyclerViewHeaderDecoration
@ -110,4 +111,13 @@ class RecordingsFragment : MasterFragment<RecordingsFragmentBinding, RecordingsL
}
viewModel.deleteRecordings(list)
}
override fun onResume() {
if (this::viewModel.isInitialized) {
viewModel.udpdateRecordingsList()
} else {
Log.e("[Recordings] Fragment resuming but viewModel lateinit property isn't initialized!")
}
super.onResume()
}
}

View file

@ -59,7 +59,6 @@ class RecordingsViewModel : ViewModel() {
}
init {
getRecordings()
isVideoVisible.value = false
}
@ -86,10 +85,10 @@ class RecordingsViewModel : ViewModel() {
FileUtils.deleteFile(recording.path)
}
getRecordings()
udpdateRecordingsList()
}
private fun getRecordings() {
fun udpdateRecordingsList() {
recordingsList.value.orEmpty().forEach(RecordingData::destroy)
val list = arrayListOf<RecordingData>()