Try to check group mute status for keeping archived.

main
Nicholas 2023-02-06 09:44:26 -05:00 zatwierdzone przez Alex Hart
rodzic 418b486776
commit 3b40b10a77
1 zmienionych plików z 20 dodań i 14 usunięć

Wyświetl plik

@ -2494,20 +2494,26 @@ public class MessageTable extends DatabaseTable implements MessageTypes, Recipie
return Optional.empty(); return Optional.empty();
} }
boolean updateThread = retrieved.getStoryType() == StoryType.NONE; boolean updateThread = retrieved.getStoryType() == StoryType.NONE;
boolean keepThreadArchived = SignalStore.settings().shouldKeepMutedChatsArchived() && Recipient.resolved(retrieved.getFrom()).isMuted();
long messageId = insertMediaMessage(threadId, RecipientId threadRecipientId = SignalDatabase.threads().getRecipientIdForThreadId(threadId);
retrieved.getBody(), if (threadRecipientId == null) {
retrieved.getAttachments(), threadRecipientId = retrieved.getFrom();
quoteAttachments, }
retrieved.getSharedContacts(), boolean keepThreadArchived = threadRecipientId != null && SignalStore.settings().shouldKeepMutedChatsArchived() && Recipient.resolved(threadRecipientId).isMuted();
retrieved.getLinkPreviews(),
retrieved.getMentions(), long messageId = insertMediaMessage(threadId,
retrieved.getMessageRanges(), retrieved.getBody(),
contentValues, retrieved.getAttachments(),
null, quoteAttachments,
updateThread, retrieved.getSharedContacts(),
!keepThreadArchived); retrieved.getLinkPreviews(),
retrieved.getMentions(),
retrieved.getMessageRanges(),
contentValues,
null,
updateThread,
!keepThreadArchived);
boolean isNotStoryGroupReply = retrieved.getParentStoryId() == null || !retrieved.getParentStoryId().isGroupReply(); boolean isNotStoryGroupReply = retrieved.getParentStoryId() == null || !retrieved.getParentStoryId().isGroupReply();
if (!MessageTypes.isPaymentsActivated(mailbox) && !MessageTypes.isPaymentsRequestToActivate(mailbox) && !MessageTypes.isExpirationTimerUpdate(mailbox) && !retrieved.getStoryType().isStory() && isNotStoryGroupReply) { if (!MessageTypes.isPaymentsActivated(mailbox) && !MessageTypes.isPaymentsRequestToActivate(mailbox) && !MessageTypes.isExpirationTimerUpdate(mailbox) && !retrieved.getStoryType().isStory() && isNotStoryGroupReply) {