Fixed crash when default device URI is null

This commit is contained in:
Sylvain Berfini 2025-03-24 23:41:18 +01:00
parent d6494cd27c
commit 7018cd3442

View file

@ -90,7 +90,7 @@ class SettingsViewModel
val autoRecordCalls = MutableLiveData<Boolean>() val autoRecordCalls = MutableLiveData<Boolean>()
val goToIncomingCallNotificationChannelSettingsEvent = MutableLiveData<Event<Uri>>() val goToIncomingCallNotificationChannelSettingsEvent = MutableLiveData<Event<Uri?>>()
// Conversations settings // Conversations settings
val showConversationsSettings = MutableLiveData<Boolean>() val showConversationsSettings = MutableLiveData<Boolean>()
@ -471,11 +471,18 @@ class SettingsViewModel
@UiThread @UiThread
fun changeRingtone() { fun changeRingtone() {
coreContext.postOnCoreThread { core -> coreContext.postOnCoreThread { core ->
val defaultDeviceRingtone = RingtoneManager.getActualDefaultRingtoneUri(coreContext.context, RingtoneManager.TYPE_RINGTONE) try {
val coreRingtone = core.ring?.toUri() val defaultDeviceRingtone = RingtoneManager.getActualDefaultRingtoneUri(
Log.i("$TAG Currently set ringtone in Core is [$coreRingtone], device default ringtone is [$defaultDeviceRingtone]") coreContext.context,
val currentRingtone = coreRingtone ?: defaultDeviceRingtone RingtoneManager.TYPE_RINGTONE
goToIncomingCallNotificationChannelSettingsEvent.postValue(Event(currentRingtone)) )
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")
}
} }
} }