From 9bb80077c62c582b8e4f892a4284d36be539e601 Mon Sep 17 00:00:00 2001 From: Nicholas Date: Thu, 1 Dec 2022 18:15:09 -0500 Subject: [PATCH] Fix jumping from media to message in group converstations. --- .../securesms/mediapreview/MediaPreviewRepository.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewRepository.kt index 809fe22b0..476407d7f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewRepository.kt @@ -17,6 +17,8 @@ import org.thoughtcrime.securesms.database.MediaTable import org.thoughtcrime.securesms.database.MediaTable.Sorting import org.thoughtcrime.securesms.database.SignalDatabase import org.thoughtcrime.securesms.database.SignalDatabase.Companion.media +import org.thoughtcrime.securesms.database.model.MessageRecord +import org.thoughtcrime.securesms.recipients.RecipientId import org.thoughtcrime.securesms.sms.MessageSender import org.thoughtcrime.securesms.util.AttachmentUtil @@ -87,9 +89,11 @@ class MediaPreviewRepository { fun getMessagePositionIntent(context: Context, messageId: Long): Single { return Single.fromCallable { - val messageRecord = SignalDatabase.mms.getMessageRecord(messageId) - val messagePosition = SignalDatabase.mmsSms.getMessagePositionInConversation(messageRecord.threadId, messageRecord.dateReceived) - ConversationIntents.createBuilder(context, messageRecord.recipient.id, messageRecord.threadId) + val messageRecord: MessageRecord = SignalDatabase.mms.getMessageRecord(messageId) + val threadId: Long = messageRecord.threadId + val messagePosition: Int = SignalDatabase.mmsSms.getMessagePositionInConversation(threadId, messageRecord.dateReceived) + val recipientId: RecipientId = SignalDatabase.threads.getRecipientForThreadId(threadId)?.id ?: throw IllegalStateException("Could not find recipient for thread ID $threadId") + ConversationIntents.createBuilder(context, recipientId, threadId) .withStartingPosition(messagePosition) .build() }