diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/CreateGroupActivity.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/CreateGroupActivity.java index f790c776bb..9e28f07c99 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/CreateGroupActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/CreateGroupActivity.java @@ -31,6 +31,7 @@ import org.thoughtcrime.securesms.util.views.SimpleProgressDialog; import org.whispersystems.libsignal.util.guava.Optional; import java.io.IOException; +import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -152,9 +153,12 @@ public class CreateGroupActivity extends ContactSelectionActivity { stopwatch.split("registered"); + List recipientsAndSelf = new ArrayList<>(resolved); + recipientsAndSelf.add(Recipient.self().resolve()); + if (FeatureFlags.groupsV2create()) { try { - GroupsV2CapabilityChecker.refreshCapabilitiesIfNecessary(resolved); + GroupsV2CapabilityChecker.refreshCapabilitiesIfNecessary(recipientsAndSelf); } catch (IOException e) { Log.w(TAG, "Failed to refresh all recipient capabilities.", e); } @@ -164,8 +168,8 @@ public class CreateGroupActivity extends ContactSelectionActivity { resolved = Recipient.resolvedList(ids); - if (Stream.of(resolved).anyMatch(r -> r.getGroupsV2Capability() != Recipient.Capability.SUPPORTED) && - Stream.of(resolved).anyMatch(r -> !r.hasE164())) + boolean gv2 = Stream.of(recipientsAndSelf).allMatch(r -> r.getGroupsV2Capability() == Recipient.Capability.SUPPORTED); + if (!gv2 && Stream.of(resolved).anyMatch(r -> !r.hasE164())) { Log.w(TAG, "Invalid GV1 group..."); ids = Collections.emptyList();