diff --git a/src/org/thoughtcrime/securesms/database/GroupDatabase.java b/src/org/thoughtcrime/securesms/database/GroupDatabase.java index ebba2103ba..502a566f02 100644 --- a/src/org/thoughtcrime/securesms/database/GroupDatabase.java +++ b/src/org/thoughtcrime/securesms/database/GroupDatabase.java @@ -68,7 +68,7 @@ public class GroupDatabase extends Database { ACTIVE + " INTEGER DEFAULT 1, " + AVATAR_DIGEST + " BLOB, " + AVATAR_URL + " TEXT, " + - ADMINS + "TEXT, " + + ADMINS + " TEXT, " + MMS + " INTEGER DEFAULT 0);"; public static final String[] CREATE_INDEXS = { diff --git a/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java b/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java index 1ea8bc924d..980e74020a 100644 --- a/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java +++ b/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java @@ -852,7 +852,7 @@ public class PushDecryptJob extends BaseJob implements InjectableType { Optional sticker = getStickerAttachment(message.getSticker()); // If message is from group then we need to map it to the correct sender - Address sender = message.isGroupUpdate() ? Address.fromSerialized(content.getSender()) : primaryDeviceRecipient.getAddress(); + Address sender = message.isGroupMessage() ? Address.fromSerialized(content.getSender()) : primaryDeviceRecipient.getAddress(); IncomingMediaMessage mediaMessage = new IncomingMediaMessage(sender, message.getTimestamp(), -1, message.getExpiresInSeconds() * 1000L, false, content.isNeedsReceipt(), message.getBody(), message.getGroupInfo(), message.getAttachments(), quote, sharedContacts, linkPreviews, sticker); @@ -1037,7 +1037,7 @@ public class PushDecryptJob extends BaseJob implements InjectableType { notifyTypingStoppedFromIncomingMessage(primaryDeviceRecipient, content.getSender(), content.getSenderDevice()); // If message is from group then we need to map it to the correct sender - Address sender = message.isGroupUpdate() ? Address.fromSerialized(content.getSender()) : primaryDeviceRecipient.getAddress(); + Address sender = message.isGroupMessage() ? Address.fromSerialized(content.getSender()) : primaryDeviceRecipient.getAddress(); IncomingTextMessage _textMessage = new IncomingTextMessage(sender, content.getSenderDevice(), message.getTimestamp(), body, @@ -1278,7 +1278,7 @@ public class PushDecryptJob extends BaseJob implements InjectableType { } private void updateFriendRequestStatusIfNeeded(@NonNull SignalServiceContent content, @NonNull SignalServiceDataMessage message) { - if (!content.isFriendRequest() || message.isGroupUpdate() || message.isSessionRequest()) { return; } + if (!content.isFriendRequest() || message.isGroupMessage() || message.isSessionRequest()) { return; } // This handles the case where another user sends us a regular message without authorisation Promise promise = PromiseUtil.timeout(MultiDeviceUtilities.shouldAutomaticallyBecomeFriendsWithDevice(content.getSender(), context), 8000); boolean shouldBecomeFriends = PromiseUtil.get(promise, false); @@ -1743,7 +1743,7 @@ public class PushDecryptJob extends BaseJob implements InjectableType { } private Recipient getSyncMessageDestination(SentTranscriptMessage message) { - if (message.getMessage().getGroupInfo().isPresent()) { + if (message.getMessage().isGroupMessage()) { return Recipient.from(context, Address.fromSerialized(GroupUtil.getEncodedId(message.getMessage().getGroupInfo().get())), false); } else { return Recipient.from(context, Address.fromSerialized(message.getDestination().get()), false); @@ -1751,7 +1751,7 @@ public class PushDecryptJob extends BaseJob implements InjectableType { } private Recipient getSyncMessagePrimaryDestination(SentTranscriptMessage message) { - if (message.getMessage().getGroupInfo().isPresent()) { + if (message.getMessage().isGroupMessage()) { return getSyncMessageDestination(message); } else { return getPrimaryDeviceRecipient(message.getDestination().get()); @@ -1759,7 +1759,7 @@ public class PushDecryptJob extends BaseJob implements InjectableType { } private Recipient getMessageDestination(SignalServiceContent content, SignalServiceDataMessage message) { - if (message.getGroupInfo().isPresent()) { + if (message.isGroupMessage()) { return Recipient.from(context, Address.fromSerialized(GroupUtil.getEncodedId(message.getGroupInfo().get())), false); } else { return Recipient.from(context, Address.fromSerialized(content.getSender()), false); @@ -1767,7 +1767,7 @@ public class PushDecryptJob extends BaseJob implements InjectableType { } private Recipient getMessagePrimaryDestination(SignalServiceContent content, SignalServiceDataMessage message) { - if (message.getGroupInfo().isPresent()) { + if (message.isGroupMessage()) { return getMessageDestination(content, message); } else { return getPrimaryDeviceRecipient(content.getSender()); @@ -1866,7 +1866,7 @@ public class PushDecryptJob extends BaseJob implements InjectableType { } private boolean isGroupChatMessage(SignalServiceContent content) { - return content.getDataMessage().isPresent() && content.getDataMessage().get().getGroupInfo().isPresent(); + return content.getDataMessage().isPresent() && content.getDataMessage().get().isGroupMessage(); } private void resetRecipientToPush(@NonNull Recipient recipient) { diff --git a/src/org/thoughtcrime/securesms/sms/MessageSender.java b/src/org/thoughtcrime/securesms/sms/MessageSender.java index dd18a56b80..df26a6ec03 100644 --- a/src/org/thoughtcrime/securesms/sms/MessageSender.java +++ b/src/org/thoughtcrime/securesms/sms/MessageSender.java @@ -201,7 +201,7 @@ public class MessageSender { if (attachment != null) { message.getAttachments().add(attachment); } long messageID = database.insertMessageOutbox(message, allocatedThreadId, forceSms, insertListener); // Loki - Set the message's friend request status as soon as it has hit the database - if (message.isFriendRequest && !recipient.getAddress().isGroup()) { + if (message.isFriendRequest && !recipient.getAddress().isGroup() && !message.isGroup()) { FriendRequestHandler.updateFriendRequestState(context, FriendRequestHandler.ActionType.Sending, messageID, allocatedThreadId); } sendMediaMessage(context, recipient, forceSms, messageID, message.getExpiresIn()); @@ -214,7 +214,7 @@ public class MessageSender { try { long messageID = database.insertMessageOutbox(message, allocatedThreadId, forceSms, insertListener); // Loki - Set the message's friend request status as soon as it has hit the database - if (message.isFriendRequest && !recipient.getAddress().isGroup()) { + if (message.isFriendRequest && !recipient.getAddress().isGroup() && !message.isGroup()) { FriendRequestHandler.updateFriendRequestState(context, FriendRequestHandler.ActionType.Sending, messageID, allocatedThreadId); } sendMediaMessage(context, recipient, forceSms, messageID, message.getExpiresIn());