diff --git a/app/src/main/java/org/thoughtcrime/securesms/messagedetails/MessageDetailsRepository.java b/app/src/main/java/org/thoughtcrime/securesms/messagedetails/MessageDetailsRepository.java index 60efc0c5c4..d5d411b961 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messagedetails/MessageDetailsRepository.java +++ b/app/src/main/java/org/thoughtcrime/securesms/messagedetails/MessageDetailsRepository.java @@ -22,6 +22,7 @@ import org.thoughtcrime.securesms.database.model.MessageId; import org.thoughtcrime.securesms.database.model.MessageRecord; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; import org.thoughtcrime.securesms.recipients.Recipient; +import org.thoughtcrime.securesms.recipients.RecipientId; import java.util.LinkedList; import java.util.List; @@ -86,7 +87,7 @@ public final class MessageDetailsRepository { } else { List receiptInfoList = SignalDatabase.groupReceipts().getGroupReceiptInfo(messageRecord.getId()); - if (receiptInfoList.isEmpty()) { + if (receiptInfoList.isEmpty() && messageRecord.getRecipient().isGroup()) { List group = SignalDatabase.groups().getGroupMembers(messageRecord.getRecipient().requireGroupId(), GroupDatabase.MemberSet.FULL_MEMBERS_EXCLUDING_SELF); for (Recipient recipient : group) { @@ -98,6 +99,19 @@ public final class MessageDetailsRepository { getNetworkFailure(messageRecord, recipient), getKeyMismatchFailure(messageRecord, recipient))); } + } else if (receiptInfoList.isEmpty() && messageRecord.getRecipient().isDistributionList()) { + List distributionList = SignalDatabase.distributionLists().getMembers(messageRecord.getRecipient().requireDistributionListId()); + List resolved = Recipient.resolvedList(distributionList); + + for (Recipient recipient : resolved) { + recipients.add(new RecipientDeliveryStatus(messageRecord, + recipient, + RecipientDeliveryStatus.Status.UNKNOWN, + false, + messageRecord.getReceiptTimestamp(), + getNetworkFailure(messageRecord, recipient), + getKeyMismatchFailure(messageRecord, recipient))); + } } else { for (GroupReceiptDatabase.GroupReceiptInfo info : receiptInfoList) { Recipient recipient = Recipient.resolved(info.getRecipientId());