From: AsamK Date: Sun, 17 Jan 2021 15:52:10 +0000 (+0100) Subject: Use getRegisteredUsers instead of getContacts for updating v1 group X-Git-Tag: v0.7.4~7 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/70690fef36589a0526b23c128f409697ef086966?ds=sidebyside Use getRegisteredUsers instead of getContacts for updating v1 group Fixes #437 --- diff --git a/src/main/java/org/asamk/signal/manager/Manager.java b/src/main/java/org/asamk/signal/manager/Manager.java index 7d2681ae..ec427ce3 100644 --- a/src/main/java/org/asamk/signal/manager/Manager.java +++ b/src/main/java/org/asamk/signal/manager/Manager.java @@ -121,7 +121,6 @@ import org.whispersystems.signalservice.api.messages.multidevice.StickerPackOper import org.whispersystems.signalservice.api.messages.multidevice.VerifiedMessage; import org.whispersystems.signalservice.api.profiles.ProfileAndCredential; import org.whispersystems.signalservice.api.profiles.SignalServiceProfile; -import org.whispersystems.signalservice.api.push.ContactTokenDetails; import org.whispersystems.signalservice.api.push.SignalServiceAddress; import org.whispersystems.signalservice.api.push.exceptions.MissingConfigurationException; import org.whispersystems.signalservice.api.util.InvalidNumberException; @@ -773,12 +772,10 @@ public class Manager implements Closeable { newE164Members.add(member.getNumber().get()); } - final List contacts = accountManager.getContacts(newE164Members); - if (contacts.size() != newE164Members.size()) { + final Map registeredUsers = getRegisteredUsers(newE164Members); + if (registeredUsers.size() != newE164Members.size()) { // Some of the new members are not registered on Signal - for (ContactTokenDetails contact : contacts) { - newE164Members.remove(contact.getNumber()); - } + newE164Members.removeAll(registeredUsers.keySet()); throw new IOException("Failed to add members " + String.join(", ", newE164Members) + " to group: Not registered on Signal");