From 9ddb45dbdc477bb7eabdf9d463a44ecff55cfb2d Mon Sep 17 00:00:00 2001 From: Ryan ZHAO Date: Thu, 11 Mar 2021 10:52:54 +1100 Subject: [PATCH] fix blocked contacts can still see typing indicator and set disappearing messages --- .../securesms/service/ExpiringMessageManager.java | 3 +++ .../securesms/sskenvironment/TypingStatusRepository.java | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/ExpiringMessageManager.java b/app/src/main/java/org/thoughtcrime/securesms/service/ExpiringMessageManager.java index 86def9b6e3..9232d7b135 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/ExpiringMessageManager.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/ExpiringMessageManager.java @@ -70,6 +70,9 @@ public class ExpiringMessageManager implements SSKEnvironment.MessageExpirationM MmsDatabase database = DatabaseFactory.getMmsDatabase(context); Address address = Address.fromSerialized(senderPublicKey); Recipient recipient = Recipient.from(context, address, false); + + if (recipient.isBlocked()) return; + Optional groupInfo = Optional.absent(); if (content.getDataMessage().hasGroup()) { GroupContext groupContext = content.getDataMessage().getGroup(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/sskenvironment/TypingStatusRepository.java b/app/src/main/java/org/thoughtcrime/securesms/sskenvironment/TypingStatusRepository.java index 100ede3702..40ee73983a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sskenvironment/TypingStatusRepository.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sskenvironment/TypingStatusRepository.java @@ -51,6 +51,10 @@ public class TypingStatusRepository implements SSKEnvironment.TypingIndicatorsPr return; } + if (Recipient.from(context, author, false).isBlocked()) { + return; + } + Set typists = Util.getOrDefault(typistMap, threadId, new LinkedHashSet<>()); Typist typist = new Typist(Recipient.from(context, author, false), device, threadId); @@ -76,6 +80,10 @@ public class TypingStatusRepository implements SSKEnvironment.TypingIndicatorsPr return; } + if (Recipient.from(context, author, false).isBlocked()) { + return; + } + Set typists = Util.getOrDefault(typistMap, threadId, new LinkedHashSet<>()); Typist typist = new Typist(Recipient.from(context, author, false), device, threadId);