From 5b5d6c4abb3cb9f9a3cff38dd3eac4abe1b9483d Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 24 Mar 2025 23:41:18 +0100 Subject: [PATCH] Fixed crash when default device URI is null --- .../settings/viewmodel/SettingsViewModel.kt | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/linphone/ui/main/settings/viewmodel/SettingsViewModel.kt b/app/src/main/java/org/linphone/ui/main/settings/viewmodel/SettingsViewModel.kt index 5244f82ba..7658233bc 100644 --- a/app/src/main/java/org/linphone/ui/main/settings/viewmodel/SettingsViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/settings/viewmodel/SettingsViewModel.kt @@ -90,7 +90,7 @@ class SettingsViewModel val autoRecordCalls = MutableLiveData() - val goToIncomingCallNotificationChannelSettingsEvent = MutableLiveData>() + val goToIncomingCallNotificationChannelSettingsEvent = MutableLiveData>() // Conversations settings val showConversationsSettings = MutableLiveData() @@ -462,11 +462,18 @@ class SettingsViewModel @UiThread fun changeRingtone() { coreContext.postOnCoreThread { core -> - val defaultDeviceRingtone = RingtoneManager.getActualDefaultRingtoneUri(coreContext.context, RingtoneManager.TYPE_RINGTONE) - val coreRingtone = core.ring?.toUri() - Log.i("$TAG Currently set ringtone in Core is [$coreRingtone], device default ringtone is [$defaultDeviceRingtone]") - val currentRingtone = coreRingtone ?: defaultDeviceRingtone - goToIncomingCallNotificationChannelSettingsEvent.postValue(Event(currentRingtone)) + try { + val defaultDeviceRingtone = RingtoneManager.getActualDefaultRingtoneUri( + coreContext.context, + RingtoneManager.TYPE_RINGTONE + ) + val coreRingtone = core.ring?.toUri() + Log.i("$TAG Currently set ringtone in Core is [$coreRingtone], device default ringtone is [$defaultDeviceRingtone]") + val currentRingtone = coreRingtone ?: defaultDeviceRingtone + goToIncomingCallNotificationChannelSettingsEvent.postValue(Event(currentRingtone)) + } catch (e: Exception) { + Log.e("$TAG Failed to get current ringtone: $e") + } } }