diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/views/StoryViewsRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/views/StoryViewsRepository.kt index d0c373ed51..05898c1b8d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/views/StoryViewsRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/views/StoryViewsRepository.kt @@ -34,20 +34,24 @@ class StoryViewsRepository { fun getViews(storyId: Long): Observable> { return Observable.create> { emitter -> val record: MessageRecord = SignalDatabase.mms.getMessageRecord(storyId) - val distributionId: DistributionId = SignalDatabase.distributionLists.getDistributionId(record.recipient.requireDistributionListId())!! - val recipientIds: Set = SignalDatabase.storySends.getRecipientsForDistributionId(storyId, distributionId) + val filterIds: Set = if (record.recipient.isDistributionList) { + val distributionId: DistributionId = SignalDatabase.distributionLists.getDistributionId(record.recipient.requireDistributionListId())!! + SignalDatabase.storySends.getRecipientsForDistributionId(storyId, distributionId) + } else { + emptySet() + } fun refresh() { emitter.onNext( SignalDatabase.groupReceipts.getGroupReceiptInfo(storyId).filter { it.status == GroupReceiptDatabase.STATUS_VIEWED + }.filter { + filterIds.isEmpty() || it.recipientId in filterIds }.map { StoryViewItemData( recipient = Recipient.resolved(it.recipientId), timeViewedInMillis = it.timestamp ) - }.filter { - it.recipient.id in recipientIds } ) }