Make reaction and remote delete jobs GV2 ready.

This commit is contained in:
Alan Evans
2020-04-20 13:41:03 -03:00
committed by Greyson Parrelli
parent 9a8094cb8a
commit 53b681ef67
4 changed files with 28 additions and 17 deletions

View File

@@ -18,7 +18,10 @@ import org.thoughtcrime.securesms.mms.OutgoingGroupMediaMessage;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.recipients.RecipientForeverObserver;
import org.whispersystems.libsignal.util.guava.Optional;
import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage;
import org.whispersystems.signalservice.api.messages.SignalServiceGroup;
import org.whispersystems.signalservice.api.messages.SignalServiceGroupContext;
import org.whispersystems.signalservice.api.messages.SignalServiceGroupV2;
import org.whispersystems.signalservice.api.push.SignalServiceAddress;
import org.whispersystems.signalservice.api.util.UuidUtil;
@@ -106,6 +109,24 @@ public final class GroupUtil {
}
}
@WorkerThread
public static void setDataMessageGroupContext(@NonNull Context context,
@NonNull SignalServiceDataMessage.Builder dataMessageBuilder,
@NonNull GroupId.Push groupId)
{
if (groupId.isV2()) {
GroupDatabase groupDatabase = DatabaseFactory.getGroupDatabase(context);
GroupDatabase.GroupRecord groupRecord = groupDatabase.requireGroup(groupId);
GroupDatabase.V2GroupProperties v2GroupProperties = groupRecord.requireV2GroupProperties();
SignalServiceGroupV2 group = SignalServiceGroupV2.newBuilder(v2GroupProperties.getGroupMasterKey())
.withRevision(v2GroupProperties.getGroupRevision())
.build();
dataMessageBuilder.asGroupMessage(group);
} else {
dataMessageBuilder.asGroupMessage(new SignalServiceGroup(groupId.getDecodedId()));
}
}
public static class GroupDescription {
@NonNull private final Context context;