From 2270dfaf21aff5d8202fe1b9882e415ceff9e316 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Fri, 1 Jul 2022 13:34:14 -0300 Subject: [PATCH] Update story notifications to match spec. --- .../notifications/v2/NotificationStateProvider.kt | 3 ++- .../util/adapter/mapping/PagingMappingAdapter.java | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/v2/NotificationStateProvider.kt b/app/src/main/java/org/thoughtcrime/securesms/notifications/v2/NotificationStateProvider.kt index 20db05068d..c4a11f2880 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/v2/NotificationStateProvider.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/v2/NotificationStateProvider.kt @@ -12,6 +12,7 @@ import org.thoughtcrime.securesms.database.model.MessageRecord import org.thoughtcrime.securesms.database.model.ReactionRecord import org.thoughtcrime.securesms.notifications.profiles.NotificationProfile import org.thoughtcrime.securesms.recipients.Recipient +import org.thoughtcrime.securesms.util.isStoryReaction /** * Queries the message databases to determine messages that should be in notifications. @@ -125,7 +126,7 @@ object NotificationStateProvider { ) { private val isGroupStoryReply: Boolean = thread.groupStoryId != null private val isUnreadIncoming: Boolean = isUnreadMessage && !messageRecord.isOutgoing && !isGroupStoryReply - private val isNotifiableGroupStoryMessage: Boolean = isUnreadMessage && !messageRecord.isOutgoing && isGroupStoryReply && (isParentStorySentBySelf || hasSelfRepliedToStory) + private val isNotifiableGroupStoryMessage: Boolean = isUnreadMessage && !messageRecord.isOutgoing && isGroupStoryReply && (isParentStorySentBySelf || (hasSelfRepliedToStory && !messageRecord.isStoryReaction())) fun includeMessage(notificationProfile: NotificationProfile?): MessageInclusion { return if (isUnreadIncoming || stickyThread || isNotifiableGroupStoryMessage) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/PagingMappingAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/PagingMappingAdapter.java index f4dd63b666..688887bb9d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/PagingMappingAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/PagingMappingAdapter.java @@ -37,7 +37,12 @@ public class PagingMappingAdapter extends MappingAdapter { if (pagingController != null) { pagingController.onDataNeededAroundIndex(position); } - return super.getItem(position); + + if (position > 0 && position < super.getCurrentList().size()) { + return super.getItem(position); + } else { + return null; + } } @Override