From b1d1b7e31e2804c39463888c35e6b41d25a64d6c Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Tue, 21 Sep 2021 09:57:37 -0300 Subject: [PATCH] Fix NullPointerException when getting ringtone title. --- .../custom/CustomNotificationsSettingsFragment.kt | 11 ++++++++++- app/src/main/res/values/strings.xml | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/sounds/custom/CustomNotificationsSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/sounds/custom/CustomNotificationsSettingsFragment.kt index 8edaa73320..40929b16ce 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/sounds/custom/CustomNotificationsSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/sounds/custom/CustomNotificationsSettingsFragment.kt @@ -10,6 +10,7 @@ import androidx.activity.result.ActivityResult import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx.fragment.app.viewModels +import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.DSLConfiguration import org.thoughtcrime.securesms.components.settings.DSLSettingsAdapter @@ -19,6 +20,9 @@ import org.thoughtcrime.securesms.components.settings.configure import org.thoughtcrime.securesms.database.RecipientDatabase import org.thoughtcrime.securesms.notifications.NotificationChannels import org.thoughtcrime.securesms.util.RingtoneUtil +import java.lang.NullPointerException + +private val TAG = Log.tag(CustomNotificationsSettingsFragment::class.java) class CustomNotificationsSettingsFragment : DSLSettingsFragment(R.string.CustomNotificationsDialogFragment__custom_notifications) { @@ -135,7 +139,12 @@ class CustomNotificationsSettingsFragment : DSLSettingsFragment(R.string.CustomN } else { val tone = RingtoneUtil.getRingtone(requireContext(), ringtone) if (tone != null) { - return tone.getTitle(context) + return try { + tone.getTitle(context) + } catch (e: NullPointerException) { + Log.w(TAG, "Could not get correct title for ringtone.", e) + context.getString(R.string.CustomNotificationsDialogFragment__unknown) + } } } return context.getString(R.string.CustomNotificationsDialogFragment__default) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7af81bb569..167f20b6a5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -799,6 +799,7 @@ Enabled Disabled Default + Unknown Shareable group link