From 345941781ba64f3cff1b11dd1c2370c5cb8d7b30 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 12 Jul 2021 11:10:39 +0200 Subject: [PATCH] Fixed crash in dialer if DTMF_TONE_WHEN_DIALING setting isn't found --- .../main/dialer/viewmodels/DialerViewModel.kt | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/linphone/activities/main/dialer/viewmodels/DialerViewModel.kt b/app/src/main/java/org/linphone/activities/main/dialer/viewmodels/DialerViewModel.kt index 05c80cf06..2ce2a01ca 100644 --- a/app/src/main/java/org/linphone/activities/main/dialer/viewmodels/DialerViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/dialer/viewmodels/DialerViewModel.kt @@ -67,12 +67,20 @@ class DialerViewModel : LogsUploadViewModel() { if (coreContext.core.callsNb == 0) { val contentResolver = coreContext.context.contentResolver - if (Settings.System.getInt(contentResolver, Settings.System.DTMF_TONE_WHEN_DIALING) == 1) { - coreContext.core.playDtmf(key, 1) + try { + if (Settings.System.getInt( + contentResolver, + Settings.System.DTMF_TONE_WHEN_DIALING + ) == 1 + ) { + coreContext.core.playDtmf(key, 1) - if (vibrator.hasVibrator() && corePreferences.dtmfKeypadVibration) { - Compatibility.eventVibration(vibrator) + if (vibrator.hasVibrator() && corePreferences.dtmfKeypadVibration) { + Compatibility.eventVibration(vibrator) + } } + } catch (snfe: Settings.SettingNotFoundException) { + Log.e("[Dialer] Can't play DTMF: $snfe") } } }