From 30ac264cd3613045bb531352725c03ec2fdb203c Mon Sep 17 00:00:00 2001 From: Alan Evans Date: Wed, 6 May 2020 13:42:54 -0300 Subject: [PATCH] Rename Group update message classes. --- .../securesms/database/MmsDatabase.java | 18 +++--- .../securesms/database/SmsDatabase.java | 7 +-- .../securesms/groups/GroupManagerV1.java | 10 ++-- .../securesms/groups/GroupManagerV2.java | 20 +++---- .../groups/GroupV1MessageProcessor.java | 18 +++--- .../v2/processing/GroupsV2StateProcessor.java | 14 ++--- .../securesms/jobs/PushGroupSendJob.java | 8 +-- ...e.java => OutgoingGroupUpdateMessage.java} | 56 +++++++++---------- .../securesms/recipients/RecipientUtil.java | 6 +- .../sms/IncomingEncryptedMessage.java | 5 -- .../sms/IncomingEndSessionMessage.java | 5 -- ...e.java => IncomingGroupUpdateMessage.java} | 9 +-- .../sms/IncomingPreKeyBundleMessage.java | 27 --------- .../securesms/sms/IncomingTextMessage.java | 4 -- .../securesms/util/GroupUtil.java | 6 +- 15 files changed, 83 insertions(+), 130 deletions(-) rename app/src/main/java/org/thoughtcrime/securesms/mms/{OutgoingGroupMediaMessage.java => OutgoingGroupUpdateMessage.java} (50%) rename app/src/main/java/org/thoughtcrime/securesms/sms/{IncomingGroupMessage.java => IncomingGroupUpdateMessage.java} (64%) delete mode 100644 app/src/main/java/org/thoughtcrime/securesms/sms/IncomingPreKeyBundleMessage.java diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.java index b42b6e25f4..567fb527c0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.java @@ -59,7 +59,7 @@ import org.thoughtcrime.securesms.mms.IncomingMediaMessage; import org.thoughtcrime.securesms.mms.MessageGroupContext; import org.thoughtcrime.securesms.mms.MmsException; import org.thoughtcrime.securesms.mms.OutgoingExpirationUpdateMessage; -import org.thoughtcrime.securesms.mms.OutgoingGroupMediaMessage; +import org.thoughtcrime.securesms.mms.OutgoingGroupUpdateMessage; import org.thoughtcrime.securesms.mms.OutgoingMediaMessage; import org.thoughtcrime.securesms.mms.OutgoingSecureMediaMessage; import org.thoughtcrime.securesms.mms.QuoteModel; @@ -822,7 +822,7 @@ public class MmsDatabase extends MessagingDatabase { } if (body != null && (Types.isGroupQuit(outboxType) || Types.isGroupUpdate(outboxType))) { - return new OutgoingGroupMediaMessage(recipient, new MessageGroupContext(body, Types.isGroupV2(outboxType)), attachments, timestamp, 0, false, quote, contacts, previews); + return new OutgoingGroupUpdateMessage(recipient, new MessageGroupContext(body, Types.isGroupV2(outboxType)), attachments, timestamp, 0, false, quote, contacts, previews); } else if (Types.isExpirationTimerUpdate(outboxType)) { return new OutgoingExpirationUpdateMessage(recipient, timestamp, expiresIn); } @@ -1081,13 +1081,13 @@ public class MmsDatabase extends MessagingDatabase { if (forceSms) type |= Types.MESSAGE_FORCE_SMS_BIT; if (message.isGroup()) { - OutgoingGroupMediaMessage outgoingGroupMediaMessage = (OutgoingGroupMediaMessage) message; - if (outgoingGroupMediaMessage.isV2Group()) { - MessageGroupContext.GroupV2Properties groupV2Properties = outgoingGroupMediaMessage.requireGroupV2Properties(); + OutgoingGroupUpdateMessage outgoingGroupUpdateMessage = (OutgoingGroupUpdateMessage) message; + if (outgoingGroupUpdateMessage.isV2Group()) { + MessageGroupContext.GroupV2Properties groupV2Properties = outgoingGroupUpdateMessage.requireGroupV2Properties(); type |= Types.GROUP_V2_BIT; if (groupV2Properties.isUpdate()) type |= Types.GROUP_UPDATE_BIT; } else { - MessageGroupContext.GroupV1Properties properties = outgoingGroupMediaMessage.requireGroupV1Properties(); + MessageGroupContext.GroupV1Properties properties = outgoingGroupUpdateMessage.requireGroupV1Properties(); if (properties.isUpdate()) type |= Types.GROUP_UPDATE_BIT; else if (properties.isQuit()) type |= Types.GROUP_QUIT_BIT; } @@ -1127,14 +1127,14 @@ public class MmsDatabase extends MessagingDatabase { long messageId = insertMediaMessage(message.getBody(), message.getAttachments(), quoteAttachments, message.getSharedContacts(), message.getLinkPreviews(), contentValues, insertListener); if (message.getRecipient().isGroup()) { - OutgoingGroupMediaMessage outgoingGroupMediaMessage = (message instanceof OutgoingGroupMediaMessage) ? (OutgoingGroupMediaMessage) message : null; + OutgoingGroupUpdateMessage outgoingGroupUpdateMessage = (message instanceof OutgoingGroupUpdateMessage) ? (OutgoingGroupUpdateMessage) message : null; GroupReceiptDatabase receiptDatabase = DatabaseFactory.getGroupReceiptDatabase(context); RecipientDatabase recipientDatabase = DatabaseFactory.getRecipientDatabase(context); Set members = new HashSet<>(); - if (outgoingGroupMediaMessage != null && outgoingGroupMediaMessage.isV2Group()) { - MessageGroupContext.GroupV2Properties groupV2Properties = outgoingGroupMediaMessage.requireGroupV2Properties(); + if (outgoingGroupUpdateMessage != null && outgoingGroupUpdateMessage.isV2Group()) { + MessageGroupContext.GroupV2Properties groupV2Properties = outgoingGroupUpdateMessage.requireGroupV2Properties(); members.addAll(Stream.of(groupV2Properties.getActiveMembers()).map(recipientDatabase::getOrInsertFromUuid).toList()); if (groupV2Properties.isUpdate()) { members.addAll(Stream.of(groupV2Properties.getPendingMembers()).map(recipientDatabase::getOrInsertFromUuid).toList()); diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/SmsDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/SmsDatabase.java index 2ebd763b10..bedd10d7b5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/SmsDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/SmsDatabase.java @@ -42,13 +42,12 @@ import org.thoughtcrime.securesms.jobs.TrimThreadJob; import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.recipients.RecipientId; -import org.thoughtcrime.securesms.sms.IncomingGroupMessage; +import org.thoughtcrime.securesms.sms.IncomingGroupUpdateMessage; import org.thoughtcrime.securesms.sms.IncomingTextMessage; import org.thoughtcrime.securesms.sms.OutgoingTextMessage; import org.thoughtcrime.securesms.util.JsonUtils; import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.whispersystems.libsignal.util.guava.Optional; -import org.whispersystems.signalservice.internal.push.SignalServiceProtos; import java.io.IOException; import java.security.SecureRandom; @@ -618,8 +617,8 @@ public class SmsDatabase extends MessagingDatabase { type |= Types.SECURE_MESSAGE_BIT; } else if (message.isGroup()) { type |= Types.SECURE_MESSAGE_BIT; - if (((IncomingGroupMessage)message).isUpdate()) type |= Types.GROUP_UPDATE_BIT; - else if (((IncomingGroupMessage)message).isQuit()) type |= Types.GROUP_QUIT_BIT; + if (((IncomingGroupUpdateMessage)message).isUpdate()) type |= Types.GROUP_UPDATE_BIT; + else if (((IncomingGroupUpdateMessage)message).isQuit()) type |= Types.GROUP_QUIT_BIT; } else if (message.isEndSession()) { type |= Types.SECURE_MESSAGE_BIT; type |= Types.END_SESSION_BIT; diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManagerV1.java b/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManagerV1.java index 8a789c8bf1..8764289065 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManagerV1.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManagerV1.java @@ -23,7 +23,7 @@ import org.thoughtcrime.securesms.jobs.LeaveGroupJob; import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.mms.MmsException; import org.thoughtcrime.securesms.mms.OutgoingExpirationUpdateMessage; -import org.thoughtcrime.securesms.mms.OutgoingGroupMediaMessage; +import org.thoughtcrime.securesms.mms.OutgoingGroupUpdateMessage; import org.thoughtcrime.securesms.profiles.AvatarHelper; import org.thoughtcrime.securesms.providers.BlobProvider; import org.thoughtcrime.securesms.recipients.Recipient; @@ -145,7 +145,7 @@ final class GroupManagerV1 { avatarAttachment = new UriAttachment(avatarUri, MediaUtil.IMAGE_PNG, AttachmentDatabase.TRANSFER_PROGRESS_DONE, avatar.length, null, false, false, null, null, null, null); } - OutgoingGroupMediaMessage outgoingMessage = new OutgoingGroupMediaMessage(groupRecipient, groupContext, avatarAttachment, System.currentTimeMillis(), 0, false, null, Collections.emptyList(), Collections.emptyList()); + OutgoingGroupUpdateMessage outgoingMessage = new OutgoingGroupUpdateMessage(groupRecipient, groupContext, avatarAttachment, System.currentTimeMillis(), 0, false, null, Collections.emptyList(), Collections.emptyList()); long threadId = MessageSender.send(context, outgoingMessage, -1, false, null); return new GroupActionResult(groupRecipient, threadId); @@ -153,9 +153,9 @@ final class GroupManagerV1 { @WorkerThread static boolean leaveGroup(@NonNull Context context, @NonNull GroupId.V1 groupId) { - Recipient groupRecipient = Recipient.externalGroup(context, groupId); - long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(groupRecipient); - Optional leaveMessage = GroupUtil.createGroupLeaveMessage(context, groupRecipient); + Recipient groupRecipient = Recipient.externalGroup(context, groupId); + long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(groupRecipient); + Optional leaveMessage = GroupUtil.createGroupLeaveMessage(context, groupRecipient); if (threadId != -1 && leaveMessage.isPresent()) { try { diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManagerV2.java b/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManagerV2.java index 029208bbbe..179bcd5f1c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManagerV2.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManagerV2.java @@ -25,7 +25,7 @@ import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; import org.thoughtcrime.securesms.groups.v2.GroupCandidateHelper; import org.thoughtcrime.securesms.groups.v2.processing.GroupsV2StateProcessor; import org.thoughtcrime.securesms.logging.Log; -import org.thoughtcrime.securesms.mms.OutgoingGroupMediaMessage; +import org.thoughtcrime.securesms.mms.OutgoingGroupUpdateMessage; import org.thoughtcrime.securesms.profiles.AvatarHelper; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.recipients.RecipientId; @@ -407,15 +407,15 @@ final class GroupManagerV2 { GroupId.V2 groupId = GroupId.v2(masterKey); Recipient groupRecipient = Recipient.externalGroup(context, groupId); DecryptedGroupV2Context decryptedGroupV2Context = GroupProtoUtil.createDecryptedGroupV2Context(masterKey, decryptedGroup, plainGroupChange); - OutgoingGroupMediaMessage outgoingMessage = new OutgoingGroupMediaMessage(groupRecipient, - decryptedGroupV2Context, - null, - System.currentTimeMillis(), - 0, - false, - null, - Collections.emptyList(), - Collections.emptyList()); + OutgoingGroupUpdateMessage outgoingMessage = new OutgoingGroupUpdateMessage(groupRecipient, + decryptedGroupV2Context, + null, + System.currentTimeMillis(), + 0, + false, + null, + Collections.emptyList(), + Collections.emptyList()); long threadId = MessageSender.send(context, outgoingMessage, -1, false, null); diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/GroupV1MessageProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/groups/GroupV1MessageProcessor.java index c26dfffc30..64308c74d4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/GroupV1MessageProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/GroupV1MessageProcessor.java @@ -19,12 +19,12 @@ import org.thoughtcrime.securesms.jobs.AvatarGroupsV1DownloadJob; import org.thoughtcrime.securesms.jobs.PushGroupUpdateJob; import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.mms.MmsException; -import org.thoughtcrime.securesms.mms.OutgoingGroupMediaMessage; +import org.thoughtcrime.securesms.mms.OutgoingGroupUpdateMessage; import org.thoughtcrime.securesms.notifications.MessageNotifier; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.recipients.RecipientId; import org.thoughtcrime.securesms.recipients.RecipientUtil; -import org.thoughtcrime.securesms.sms.IncomingGroupMessage; +import org.thoughtcrime.securesms.sms.IncomingGroupUpdateMessage; import org.thoughtcrime.securesms.sms.IncomingTextMessage; import org.thoughtcrime.securesms.util.Base64; import org.thoughtcrime.securesms.util.FeatureFlags; @@ -233,12 +233,12 @@ public final class GroupV1MessageProcessor { try { if (outgoing) { - MmsDatabase mmsDatabase = DatabaseFactory.getMmsDatabase(context); - RecipientId recipientId = DatabaseFactory.getRecipientDatabase(context).getOrInsertFromGroupId(GroupId.v1orThrow(group.getGroupId())); - Recipient recipient = Recipient.resolved(recipientId); - OutgoingGroupMediaMessage outgoingMessage = new OutgoingGroupMediaMessage(recipient, storage, null, content.getTimestamp(), 0, false, null, Collections.emptyList(), Collections.emptyList()); - long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(recipient); - long messageId = mmsDatabase.insertMessageOutbox(outgoingMessage, threadId, false, null); + MmsDatabase mmsDatabase = DatabaseFactory.getMmsDatabase(context); + RecipientId recipientId = DatabaseFactory.getRecipientDatabase(context).getOrInsertFromGroupId(GroupId.v1orThrow(group.getGroupId())); + Recipient recipient = Recipient.resolved(recipientId); + OutgoingGroupUpdateMessage outgoingMessage = new OutgoingGroupUpdateMessage(recipient, storage, null, content.getTimestamp(), 0, false, null, Collections.emptyList(), Collections.emptyList()); + long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(recipient); + long messageId = mmsDatabase.insertMessageOutbox(outgoingMessage, threadId, false, null); mmsDatabase.markAsSent(messageId, true); @@ -247,7 +247,7 @@ public final class GroupV1MessageProcessor { SmsDatabase smsDatabase = DatabaseFactory.getSmsDatabase(context); String body = Base64.encodeBytes(storage.toByteArray()); IncomingTextMessage incoming = new IncomingTextMessage(Recipient.externalPush(context, content.getSender()).getId(), content.getSenderDevice(), content.getTimestamp(), content.getServerTimestamp(), body, Optional.of(GroupId.v1orThrow(group.getGroupId())), 0, content.isNeedsReceipt()); - IncomingGroupMessage groupMessage = new IncomingGroupMessage(incoming, storage, body); + IncomingGroupUpdateMessage groupMessage = new IncomingGroupUpdateMessage(incoming, storage, body); Optional insertResult = smsDatabase.insertMessageInbox(groupMessage); diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/v2/processing/GroupsV2StateProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/groups/v2/processing/GroupsV2StateProcessor.java index bedd12891e..3076610ec2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/v2/processing/GroupsV2StateProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/v2/processing/GroupsV2StateProcessor.java @@ -26,7 +26,7 @@ import org.thoughtcrime.securesms.jobs.AvatarGroupsV2DownloadJob; import org.thoughtcrime.securesms.jobs.RetrieveProfileJob; import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.mms.MmsException; -import org.thoughtcrime.securesms.mms.OutgoingGroupMediaMessage; +import org.thoughtcrime.securesms.mms.OutgoingGroupUpdateMessage; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.recipients.RecipientId; import org.whispersystems.signalservice.api.groupsv2.DecryptedGroupHistoryEntry; @@ -253,12 +253,12 @@ public final class GroupsV2StateProcessor { private void storeMessage(@NonNull DecryptedGroupV2Context decryptedGroupV2Context, long timestamp) { try { - MmsDatabase mmsDatabase = DatabaseFactory.getMmsDatabase(context); - RecipientId recipientId = recipientDatabase.getOrInsertFromGroupId(groupId); - Recipient recipient = Recipient.resolved(recipientId); - OutgoingGroupMediaMessage outgoingMessage = new OutgoingGroupMediaMessage(recipient, decryptedGroupV2Context, null, timestamp, 0, false, null, Collections.emptyList(), Collections.emptyList()); - long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(recipient); - long messageId = mmsDatabase.insertMessageOutbox(outgoingMessage, threadId, false, null); + MmsDatabase mmsDatabase = DatabaseFactory.getMmsDatabase(context); + RecipientId recipientId = recipientDatabase.getOrInsertFromGroupId(groupId); + Recipient recipient = Recipient.resolved(recipientId); + OutgoingGroupUpdateMessage outgoingMessage = new OutgoingGroupUpdateMessage(recipient, decryptedGroupV2Context, null, timestamp, 0, false, null, Collections.emptyList(), Collections.emptyList()); + long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(recipient); + long messageId = mmsDatabase.insertMessageOutbox(outgoingMessage, threadId, false, null); mmsDatabase.markAsSent(messageId, true); } catch (MmsException e) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java index a3371e82fd..4ee39b5c63 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java @@ -29,7 +29,7 @@ import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint; import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.mms.MessageGroupContext; import org.thoughtcrime.securesms.mms.MmsException; -import org.thoughtcrime.securesms.mms.OutgoingGroupMediaMessage; +import org.thoughtcrime.securesms.mms.OutgoingGroupUpdateMessage; import org.thoughtcrime.securesms.mms.OutgoingMediaMessage; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.recipients.RecipientId; @@ -169,7 +169,7 @@ public class PushGroupSendJob extends PushSendJob { if (filterRecipient != null) target = Collections.singletonList(Recipient.resolved(filterRecipient).getId()); else if (!existingNetworkFailures.isEmpty()) target = Stream.of(existingNetworkFailures).map(nf -> nf.getRecipientId(context)).toList(); - else if (groupRecipient.isPushV2Group() && message instanceof OutgoingGroupMediaMessage) target = getGroupMessageV2Recipients((OutgoingGroupMediaMessage) message); + else if (groupRecipient.isPushV2Group() && message instanceof OutgoingGroupUpdateMessage) target = getGroupMessageV2Recipients((OutgoingGroupUpdateMessage) message); else target = getGroupMessageRecipients(groupRecipient.requireGroupId(), messageId); List results = deliver(message, groupRecipient, target); @@ -266,7 +266,7 @@ public class PushGroupSendJob extends PushSendJob { .toList(); if (message.isGroup()) { - OutgoingGroupMediaMessage groupMessage = (OutgoingGroupMediaMessage) message; + OutgoingGroupUpdateMessage groupMessage = (OutgoingGroupUpdateMessage) message; if (groupMessage.isV2Group()) { MessageGroupContext.GroupV2Properties properties = groupMessage.requireGroupV2Properties(); @@ -336,7 +336,7 @@ public class PushGroupSendJob extends PushSendJob { return Stream.of(members).map(Recipient::getId).toList(); } - private @NonNull List getGroupMessageV2Recipients(@NonNull OutgoingGroupMediaMessage message) { + private @NonNull List getGroupMessageV2Recipients(@NonNull OutgoingGroupUpdateMessage message) { UUID selfUUId = Recipient.self().getUuid().get(); MessageGroupContext.GroupV2Properties groupV2Properties = message.requireGroupV2Properties(); boolean includePending = groupV2Properties.isUpdate(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/mms/OutgoingGroupMediaMessage.java b/app/src/main/java/org/thoughtcrime/securesms/mms/OutgoingGroupUpdateMessage.java similarity index 50% rename from app/src/main/java/org/thoughtcrime/securesms/mms/OutgoingGroupMediaMessage.java rename to app/src/main/java/org/thoughtcrime/securesms/mms/OutgoingGroupUpdateMessage.java index 3ff807b157..f48bee70a7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mms/OutgoingGroupMediaMessage.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mms/OutgoingGroupUpdateMessage.java @@ -14,19 +14,19 @@ import org.whispersystems.signalservice.internal.push.SignalServiceProtos.GroupC import java.util.Collections; import java.util.List; -public final class OutgoingGroupMediaMessage extends OutgoingSecureMediaMessage { +public final class OutgoingGroupUpdateMessage extends OutgoingSecureMediaMessage { private final MessageGroupContext messageGroupContext; - public OutgoingGroupMediaMessage(@NonNull Recipient recipient, - @NonNull MessageGroupContext groupContext, - @NonNull List avatar, - long sentTimeMillis, - long expiresIn, - boolean viewOnce, - @Nullable QuoteModel quote, - @NonNull List contacts, - @NonNull List previews) + public OutgoingGroupUpdateMessage(@NonNull Recipient recipient, + @NonNull MessageGroupContext groupContext, + @NonNull List avatar, + long sentTimeMillis, + long expiresIn, + boolean viewOnce, + @Nullable QuoteModel quote, + @NonNull List contacts, + @NonNull List previews) { super(recipient, groupContext.getEncodedGroupContext(), avatar, sentTimeMillis, ThreadDatabase.DistributionTypes.CONVERSATION, expiresIn, viewOnce, quote, contacts, previews); @@ -34,28 +34,28 @@ public final class OutgoingGroupMediaMessage extends OutgoingSecureMediaMessage this.messageGroupContext = groupContext; } - public OutgoingGroupMediaMessage(@NonNull Recipient recipient, - @NonNull GroupContext group, - @Nullable final Attachment avatar, - long sentTimeMillis, - long expireIn, - boolean viewOnce, - @Nullable QuoteModel quote, - @NonNull List contacts, - @NonNull List previews) + public OutgoingGroupUpdateMessage(@NonNull Recipient recipient, + @NonNull GroupContext group, + @Nullable final Attachment avatar, + long sentTimeMillis, + long expireIn, + boolean viewOnce, + @Nullable QuoteModel quote, + @NonNull List contacts, + @NonNull List previews) { this(recipient, new MessageGroupContext(group), getAttachments(avatar), sentTimeMillis, expireIn, viewOnce, quote, contacts, previews); } - public OutgoingGroupMediaMessage(@NonNull Recipient recipient, - @NonNull DecryptedGroupV2Context group, - @Nullable final Attachment avatar, - long sentTimeMillis, - long expireIn, - boolean viewOnce, - @Nullable QuoteModel quote, - @NonNull List contacts, - @NonNull List previews) + public OutgoingGroupUpdateMessage(@NonNull Recipient recipient, + @NonNull DecryptedGroupV2Context group, + @Nullable final Attachment avatar, + long sentTimeMillis, + long expireIn, + boolean viewOnce, + @Nullable QuoteModel quote, + @NonNull List contacts, + @NonNull List previews) { this(recipient, new MessageGroupContext(group), getAttachments(avatar), sentTimeMillis, expireIn, viewOnce, quote, contacts, previews); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientUtil.java b/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientUtil.java index f762383c6d..678ad88887 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientUtil.java @@ -24,7 +24,7 @@ import org.thoughtcrime.securesms.jobs.MultiDeviceMessageRequestResponseJob; import org.thoughtcrime.securesms.jobs.RotateProfileKeyJob; import org.thoughtcrime.securesms.keyvalue.SignalStore; import org.thoughtcrime.securesms.logging.Log; -import org.thoughtcrime.securesms.mms.OutgoingGroupMediaMessage; +import org.thoughtcrime.securesms.mms.OutgoingGroupUpdateMessage; import org.thoughtcrime.securesms.storage.StorageSyncHelper; import org.thoughtcrime.securesms.util.FeatureFlags; import org.thoughtcrime.securesms.util.GroupUtil; @@ -117,8 +117,8 @@ public class RecipientUtil { } if (DatabaseFactory.getGroupDatabase(context).isActive(resolved.requireGroupId())) { - long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(resolved); - Optional leaveMessage = GroupUtil.createGroupLeaveMessage(context, resolved); + long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(resolved); + Optional leaveMessage = GroupUtil.createGroupLeaveMessage(context, resolved); if (threadId != -1 && leaveMessage.isPresent()) { ApplicationDependencies.getJobManager().add(LeaveGroupJob.create(recipient)); diff --git a/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingEncryptedMessage.java b/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingEncryptedMessage.java index 63489bf7bc..66586a68b9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingEncryptedMessage.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingEncryptedMessage.java @@ -6,11 +6,6 @@ public class IncomingEncryptedMessage extends IncomingTextMessage { super(base, newBody); } - @Override - public IncomingTextMessage withMessageBody(String body) { - return new IncomingEncryptedMessage(this, body); - } - @Override public boolean isSecureMessage() { return true; diff --git a/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingEndSessionMessage.java b/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingEndSessionMessage.java index 9277e989a7..c870ed44f6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingEndSessionMessage.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingEndSessionMessage.java @@ -10,11 +10,6 @@ public class IncomingEndSessionMessage extends IncomingTextMessage { super(base, newBody); } - @Override - public IncomingEndSessionMessage withMessageBody(String messageBody) { - return new IncomingEndSessionMessage(this, messageBody); - } - @Override public boolean isEndSession() { return true; diff --git a/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingGroupMessage.java b/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingGroupUpdateMessage.java similarity index 64% rename from app/src/main/java/org/thoughtcrime/securesms/sms/IncomingGroupMessage.java rename to app/src/main/java/org/thoughtcrime/securesms/sms/IncomingGroupUpdateMessage.java index 49e5947274..54a9922c99 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingGroupMessage.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingGroupUpdateMessage.java @@ -2,20 +2,15 @@ package org.thoughtcrime.securesms.sms; import static org.whispersystems.signalservice.internal.push.SignalServiceProtos.GroupContext; -public class IncomingGroupMessage extends IncomingTextMessage { +public final class IncomingGroupUpdateMessage extends IncomingTextMessage { private final GroupContext groupContext; - public IncomingGroupMessage(IncomingTextMessage base, GroupContext groupContext, String body) { + public IncomingGroupUpdateMessage(IncomingTextMessage base, GroupContext groupContext, String body) { super(base, body); this.groupContext = groupContext; } - @Override - public IncomingGroupMessage withMessageBody(String body) { - return new IncomingGroupMessage(this, groupContext, body); - } - @Override public boolean isGroup() { return true; diff --git a/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingPreKeyBundleMessage.java b/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingPreKeyBundleMessage.java deleted file mode 100644 index 1910c366f4..0000000000 --- a/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingPreKeyBundleMessage.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.thoughtcrime.securesms.sms; - -public class IncomingPreKeyBundleMessage extends IncomingTextMessage { - - private final boolean legacy; - - public IncomingPreKeyBundleMessage(IncomingTextMessage base, String newBody, boolean legacy) { - super(base, newBody); - this.legacy = legacy; - } - - @Override - public IncomingPreKeyBundleMessage withMessageBody(String messageBody) { - return new IncomingPreKeyBundleMessage(this, messageBody, legacy); - } - - @Override - public boolean isLegacyPreKeyBundle() { - return legacy; - } - - @Override - public boolean isContentPreKeyBundle() { - return !legacy; - } - -} diff --git a/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingTextMessage.java b/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingTextMessage.java index 5072a27fd3..f07ffadd7a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingTextMessage.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sms/IncomingTextMessage.java @@ -185,10 +185,6 @@ public class IncomingTextMessage implements Parcelable { return message; } - public IncomingTextMessage withMessageBody(String message) { - return new IncomingTextMessage(this, message); - } - public RecipientId getSender() { return sender; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/GroupUtil.java b/app/src/main/java/org/thoughtcrime/securesms/util/GroupUtil.java index 0dc9e4fe73..3bf1821eb1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/GroupUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/GroupUtil.java @@ -14,7 +14,7 @@ import org.thoughtcrime.securesms.database.GroupDatabase; import org.thoughtcrime.securesms.groups.BadGroupIdException; import org.thoughtcrime.securesms.groups.GroupId; import org.thoughtcrime.securesms.logging.Log; -import org.thoughtcrime.securesms.mms.OutgoingGroupMediaMessage; +import org.thoughtcrime.securesms.mms.OutgoingGroupUpdateMessage; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.recipients.RecipientForeverObserver; import org.whispersystems.libsignal.util.guava.Optional; @@ -75,7 +75,7 @@ public final class GroupUtil { } @WorkerThread - public static Optional createGroupLeaveMessage(@NonNull Context context, @NonNull Recipient groupRecipient) { + public static Optional createGroupLeaveMessage(@NonNull Context context, @NonNull Recipient groupRecipient) { GroupId encodedGroupId = groupRecipient.requireGroupId(); GroupDatabase groupDatabase = DatabaseFactory.getGroupDatabase(context); @@ -91,7 +91,7 @@ public final class GroupUtil { .setType(GroupContext.Type.QUIT) .build(); - return Optional.of(new OutgoingGroupMediaMessage(groupRecipient, groupContext, null, System.currentTimeMillis(), 0, false, null, Collections.emptyList(), Collections.emptyList())); + return Optional.of(new OutgoingGroupUpdateMessage(groupRecipient, groupContext, null, System.currentTimeMillis(), 0, false, null, Collections.emptyList(), Collections.emptyList())); }