From 1006af7d8a24c015fe074c9b4a183d8e79639893 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Mon, 17 Oct 2022 09:54:08 -0400 Subject: [PATCH] Fix sms export crash with missing thread recipients. --- .../securesms/exporter/SignalSmsExportReader.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/exporter/SignalSmsExportReader.kt b/app/src/main/java/org/thoughtcrime/securesms/exporter/SignalSmsExportReader.kt index aa530ae0d0..ce266109b6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/exporter/SignalSmsExportReader.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/exporter/SignalSmsExportReader.kt @@ -132,14 +132,16 @@ class SignalSmsExportReader( } private fun readExportableMmsMessageFromRecord(record: MessageRecord, exportState: MessageExportState): ExportableMessage { - val threadRecipient: Recipient = SignalDatabase.threads.getRecipientForThreadId(record.threadId)!! - val addresses: Set = if (threadRecipient.isMmsGroup) { + val threadRecipient: Recipient? = SignalDatabase.threads.getRecipientForThreadId(record.threadId) + val addresses: Set = if (threadRecipient?.isMmsGroup == true) { Recipient .resolvedList(threadRecipient.participantIds) .map { r -> r.smsExportAddress() } .toSet() - } else { + } else if (threadRecipient != null) { setOf(threadRecipient.smsExportAddress()) + } else { + setOf(record.individualRecipient.smsExportAddress()) } val parts: MutableList = mutableListOf()