diff --git a/libsignal/service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeReconstruct.java b/libsignal/service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeReconstruct.java index 166b6bd311..8eb43e0605 100644 --- a/libsignal/service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeReconstruct.java +++ b/libsignal/service/src/main/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeReconstruct.java @@ -106,7 +106,7 @@ public final class GroupChangeReconstruct { .setRole(newState.getRole())); } - if (oldState.getProfileKey() != newState.getProfileKey()) { + if (!oldState.getProfileKey().equals(newState.getProfileKey())) { builder.addModifiedProfileKeys(newState); } } diff --git a/libsignal/service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeReconstructTest.java b/libsignal/service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeReconstructTest.java index 16abf4e305..f22edb093f 100644 --- a/libsignal/service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeReconstructTest.java +++ b/libsignal/service/src/test/java/org/whispersystems/signalservice/api/groupsv2/GroupChangeReconstructTest.java @@ -208,9 +208,10 @@ public final class GroupChangeReconstructTest { @Test public void to_admin() { - UUID uuid = UUID.randomUUID(); - DecryptedGroup from = DecryptedGroup.newBuilder().addMembers(member(uuid)).build(); - DecryptedGroup to = DecryptedGroup.newBuilder().addMembers(admin(uuid)).build(); + UUID uuid = UUID.randomUUID(); + ProfileKey profileKey = randomProfileKey(); + DecryptedGroup from = DecryptedGroup.newBuilder().addMembers(withProfileKey(member(uuid), profileKey)).build(); + DecryptedGroup to = DecryptedGroup.newBuilder().addMembers(withProfileKey(admin(uuid), profileKey)).build(); DecryptedGroupChange decryptedGroupChange = GroupChangeReconstruct.reconstructGroupChange(from, to); @@ -219,9 +220,10 @@ public final class GroupChangeReconstructTest { @Test public void to_member() { - UUID uuid = UUID.randomUUID(); - DecryptedGroup from = DecryptedGroup.newBuilder().addMembers(admin(uuid)).build(); - DecryptedGroup to = DecryptedGroup.newBuilder().addMembers(member(uuid)).build(); + UUID uuid = UUID.randomUUID(); + ProfileKey profileKey = randomProfileKey(); + DecryptedGroup from = DecryptedGroup.newBuilder().addMembers(withProfileKey(admin(uuid), profileKey)).build(); + DecryptedGroup to = DecryptedGroup.newBuilder().addMembers(withProfileKey(member(uuid), profileKey)).build(); DecryptedGroupChange decryptedGroupChange = GroupChangeReconstruct.reconstructGroupChange(from, to);