Fix reply showing up in RSS feed notifications.

This commit is contained in:
Mikunj Varsani 2020-03-12 12:05:08 +11:00
parent 152ddf013b
commit 49be17b969

View File

@ -326,16 +326,19 @@ public class MessageNotifier {
// We can only reply if we are friends with the user or we're messaging a group // We can only reply if we are friends with the user or we're messaging a group
boolean isGroup = recipient.isGroupRecipient() && !recipient.getAddress().isRSSFeed(); boolean isGroup = recipient.isGroupRecipient();
boolean isFriends = DatabaseFactory.getLokiThreadDatabase(context).getFriendRequestStatus(threadId) == LokiThreadFriendRequestStatus.FRIENDS; boolean isRSS = isGroup && recipient.getAddress().isRSSFeed();
boolean isFriends = false;
// If we're not friends then we need to check if we're friends with any of the linked devices if (!isGroup) {
if (!isGroup && !isFriends) { isFriends = DatabaseFactory.getLokiThreadDatabase(context).getFriendRequestStatus(threadId) == LokiThreadFriendRequestStatus.FRIENDS;
Promise<Boolean, Exception> promise = PromiseUtil.timeout(MultiDeviceUtilities.isFriendsWithAnyLinkedDevice(context, recipient), 5000); // If we're not friends then we need to check if we're friends with any of the linked devices
isFriends = PromiseUtil.get(promise, false); if (!isFriends) {
Promise<Boolean, Exception> promise = PromiseUtil.timeout(MultiDeviceUtilities.isFriendsWithAnyLinkedDevice(context, recipient), 5000);
isFriends = PromiseUtil.get(promise, false);
}
} }
boolean canReply = isGroup || isFriends; boolean canReply = (isGroup && !isRSS) || isFriends;
PendingIntent quickReplyIntent = canReply ? notificationState.getQuickReplyIntent(context, recipient) : null; PendingIntent quickReplyIntent = canReply ? notificationState.getQuickReplyIntent(context, recipient) : null;
PendingIntent remoteReplyIntent = canReply ? notificationState.getRemoteReplyIntent(context, recipient, replyMethod) : null; PendingIntent remoteReplyIntent = canReply ? notificationState.getRemoteReplyIntent(context, recipient, replyMethod) : null;