package org.thoughtcrime.securesms.groups; import android.content.Context; import android.graphics.Bitmap; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import org.thoughtcrime.securesms.database.Address; import org.thoughtcrime.securesms.recipients.Recipient; import org.whispersystems.signalservice.api.util.InvalidNumberException; import java.util.Collection; import java.util.HashSet; import java.util.Set; public final class GroupManager { public static @NonNull GroupActionResult createGroup(@NonNull Context context, @NonNull Set members, @Nullable Bitmap avatar, @Nullable String name, boolean mms) { Set
addresses = getMemberAddresses(members); return V1GroupManager.createGroup(context, addresses, avatar, name, mms); } public static GroupActionResult updateGroup(@NonNull Context context, @NonNull String groupId, @NonNull Set members, @Nullable Bitmap avatar, @Nullable String name) throws InvalidNumberException { Set
addresses = getMemberAddresses(members); return V1GroupManager.updateGroup(context, groupId, addresses, avatar, name); } private static Set
getMemberAddresses(Collection recipients) { final Set
results = new HashSet<>(); for (Recipient recipient : recipients) { results.add(recipient.getAddress()); } return results; } public static class GroupActionResult { private final Recipient groupRecipient; private final long threadId; public GroupActionResult(Recipient groupRecipient, long threadId) { this.groupRecipient = groupRecipient; this.threadId = threadId; } public Recipient getGroupRecipient() { return groupRecipient; } public long getThreadId() { return threadId; } } }