]> nmode's Git Repositories - signal-cli/commitdiff
Mark profile for refresh when receiving a profile key message
authorAsamK <asamk@gmx.de>
Wed, 26 Jan 2022 20:57:01 +0000 (21:57 +0100)
committerAsamK <asamk@gmx.de>
Wed, 26 Jan 2022 21:01:09 +0000 (22:01 +0100)
lib/src/main/java/org/asamk/signal/manager/storage/recipients/RecipientStore.java

index 1fd0ae4c2e0949546c005d2e8046402857245e0d..36f82481d3c932512e7996a53f3b0b543a376009 100644 (file)
@@ -301,7 +301,13 @@ public class RecipientStore implements RecipientResolver, ContactsStore, Profile
     public void storeProfileKey(RecipientId recipientId, final ProfileKey profileKey) {
         synchronized (recipients) {
             final var recipient = recipients.get(recipientId);
-            if (profileKey != null && profileKey.equals(recipient.getProfileKey())) {
+            if (profileKey != null && profileKey.equals(recipient.getProfileKey()) && (
+                    recipient.getProfile() == null || (
+                            recipient.getProfile().getUnidentifiedAccessMode() != Profile.UnidentifiedAccessMode.UNKNOWN
+                                    && recipient.getProfile().getUnidentifiedAccessMode()
+                                    != Profile.UnidentifiedAccessMode.DISABLED
+                    )
+            )) {
                 return;
             }