mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-24 21:15:48 +00:00
Make type a mandatory param on IncomingMessage.
This commit is contained in:
committed by
Nicholas Tinsley
parent
c0fed1498e
commit
617369dbc0
@@ -9,6 +9,7 @@ import org.junit.runner.RunWith
|
||||
import org.signal.core.util.ThreadUtil
|
||||
import org.thoughtcrime.securesms.attachments.PointerAttachment
|
||||
import org.thoughtcrime.securesms.conversation.v2.ConversationActivity
|
||||
import org.thoughtcrime.securesms.database.MessageType
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.mms.IncomingMessage
|
||||
import org.thoughtcrime.securesms.mms.OutgoingMessage
|
||||
@@ -65,6 +66,7 @@ class ConversationItemPreviewer {
|
||||
}
|
||||
|
||||
val message = IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = other.id,
|
||||
body = body,
|
||||
sentTimeMillis = System.currentTimeMillis(),
|
||||
@@ -84,6 +86,7 @@ class ConversationItemPreviewer {
|
||||
}
|
||||
|
||||
val message = IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = other.id,
|
||||
body = body,
|
||||
sentTimeMillis = System.currentTimeMillis(),
|
||||
|
||||
@@ -74,6 +74,7 @@ class MmsTableTest_stories {
|
||||
|
||||
MmsHelper.insert(
|
||||
IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = sender,
|
||||
sentTimeMillis = 2,
|
||||
serverTimeMillis = 2,
|
||||
@@ -96,6 +97,7 @@ class MmsTableTest_stories {
|
||||
val sender = recipients[0]
|
||||
val messageId = MmsHelper.insert(
|
||||
IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = sender,
|
||||
sentTimeMillis = 2,
|
||||
serverTimeMillis = 2,
|
||||
@@ -123,6 +125,7 @@ class MmsTableTest_stories {
|
||||
val messageIds = recipients.take(5).map {
|
||||
MmsHelper.insert(
|
||||
IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = it,
|
||||
sentTimeMillis = 2,
|
||||
serverTimeMillis = 2,
|
||||
@@ -155,6 +158,7 @@ class MmsTableTest_stories {
|
||||
Thread.sleep(5)
|
||||
MmsHelper.insert(
|
||||
IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = recipients[it],
|
||||
sentTimeMillis = System.currentTimeMillis(),
|
||||
serverTimeMillis = 2,
|
||||
@@ -169,6 +173,7 @@ class MmsTableTest_stories {
|
||||
Thread.sleep(5)
|
||||
MmsHelper.insert(
|
||||
IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = recipients[it],
|
||||
sentTimeMillis = System.currentTimeMillis(),
|
||||
serverTimeMillis = 2,
|
||||
@@ -214,6 +219,7 @@ class MmsTableTest_stories {
|
||||
// GIVEN
|
||||
MmsHelper.insert(
|
||||
IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = recipients[0],
|
||||
sentTimeMillis = 200,
|
||||
serverTimeMillis = 2,
|
||||
@@ -322,6 +328,7 @@ class MmsTableTest_stories {
|
||||
|
||||
MmsHelper.insert(
|
||||
IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = myStory.id,
|
||||
sentTimeMillis = 201,
|
||||
serverTimeMillis = 201,
|
||||
|
||||
@@ -949,6 +949,7 @@ class RecipientTableTest_getAndPossiblyMerge {
|
||||
|
||||
private fun smsMessage(sender: RecipientId, time: Long = 0, body: String = "", groupId: Optional<GroupId> = Optional.empty()): IncomingMessage {
|
||||
return IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = sender,
|
||||
sentTimeMillis = time,
|
||||
serverTimeMillis = time,
|
||||
@@ -961,6 +962,7 @@ class RecipientTableTest_getAndPossiblyMerge {
|
||||
|
||||
private fun mmsMessage(sender: RecipientId, time: Long = 0, body: String = "", groupId: Optional<GroupId> = Optional.empty()): IncomingMessage {
|
||||
return IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = sender,
|
||||
groupId = groupId.orNull(),
|
||||
body = body,
|
||||
|
||||
@@ -273,6 +273,7 @@ class SmsDatabaseTest_collapseJoinRequestEventsIfPossible {
|
||||
private fun smsMessage(sender: RecipientId, body: String? = ""): IncomingMessage {
|
||||
wallClock++
|
||||
return IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = sender,
|
||||
sentTimeMillis = wallClock,
|
||||
serverTimeMillis = wallClock,
|
||||
|
||||
@@ -2449,7 +2449,7 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat
|
||||
retrieved.type == MessageType.IDENTITY_VERIFIED ||
|
||||
retrieved.type == MessageType.IDENTITY_UPDATE
|
||||
|
||||
val read = silent || retrieved.isExpirationUpdate
|
||||
val read = silent || retrieved.type == MessageType.EXPIRATION_UPDATE
|
||||
|
||||
val contentValues = contentValuesOf(
|
||||
DATE_SENT to retrieved.sentTimeMillis,
|
||||
@@ -2460,7 +2460,7 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat
|
||||
MMS_MESSAGE_TYPE to PduHeaders.MESSAGE_TYPE_RETRIEVE_CONF,
|
||||
THREAD_ID to threadId,
|
||||
MMS_STATUS to MmsStatus.DOWNLOAD_INITIALIZED,
|
||||
DATE_RECEIVED to if (retrieved.isPushMessage) retrieved.receivedTimeMillis else generatePduCompatTimestamp(retrieved.receivedTimeMillis),
|
||||
DATE_RECEIVED to retrieved.receivedTimeMillis,
|
||||
SMS_SUBSCRIPTION_ID to retrieved.subscriptionId,
|
||||
EXPIRES_IN to retrieved.expiresIn,
|
||||
VIEW_ONCE to if (retrieved.isViewOnce) 1 else 0,
|
||||
|
||||
@@ -313,15 +313,14 @@ object DataMessageProcessor {
|
||||
|
||||
try {
|
||||
val mediaMessage = IncomingMessage(
|
||||
type = MessageType.EXPIRATION_UPDATE,
|
||||
from = senderRecipientId,
|
||||
sentTimeMillis = envelope.timestamp!! - if (sideEffect) 1 else 0,
|
||||
serverTimeMillis = envelope.serverTimestamp!!,
|
||||
receivedTimeMillis = receivedTime,
|
||||
expiresIn = expiresIn.inWholeMilliseconds,
|
||||
isExpirationUpdate = true,
|
||||
isUnidentified = metadata.sealedSender,
|
||||
serverGuid = envelope.serverGuid,
|
||||
isPushMessage = true
|
||||
serverGuid = envelope.serverGuid
|
||||
)
|
||||
|
||||
val insertResult: InsertResult? = SignalDatabase.messages.insertMessageInbox(mediaMessage, -1).orNull()
|
||||
@@ -413,6 +412,7 @@ object DataMessageProcessor {
|
||||
}
|
||||
|
||||
val mediaMessage = IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = senderRecipientId,
|
||||
sentTimeMillis = envelope.timestamp!!,
|
||||
serverTimeMillis = envelope.serverTimestamp!!,
|
||||
@@ -642,7 +642,6 @@ object DataMessageProcessor {
|
||||
expiresIn = message.expireTimerDuration.inWholeMilliseconds,
|
||||
isUnidentified = metadata.sealedSender,
|
||||
serverGuid = envelope.serverGuid,
|
||||
isPushMessage = true,
|
||||
type = MessageType.PAYMENTS_NOTIFICATION
|
||||
)
|
||||
|
||||
@@ -746,6 +745,7 @@ object DataMessageProcessor {
|
||||
val bodyRanges: BodyRangeList? = message.bodyRanges.filter { it.mentionAci == null }.toList().toBodyRangeList()
|
||||
|
||||
val mediaMessage = IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = senderRecipient.id,
|
||||
sentTimeMillis = envelope.timestamp!!,
|
||||
serverTimeMillis = envelope.serverTimestamp!!,
|
||||
@@ -814,6 +814,7 @@ object DataMessageProcessor {
|
||||
|
||||
val insertResult: InsertResult? = try {
|
||||
val mediaMessage = IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = senderRecipient.id,
|
||||
sentTimeMillis = envelope.timestamp!!,
|
||||
serverTimeMillis = envelope.serverTimestamp!!,
|
||||
@@ -870,6 +871,7 @@ object DataMessageProcessor {
|
||||
handlePossibleExpirationUpdate(envelope, metadata, senderRecipient.id, threadRecipient, groupId, message.expireTimerDuration, receivedTime)
|
||||
|
||||
val mediaMessage = IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = senderRecipient.id,
|
||||
sentTimeMillis = envelope.timestamp!!,
|
||||
serverTimeMillis = envelope.serverTimestamp!!,
|
||||
@@ -885,8 +887,7 @@ object DataMessageProcessor {
|
||||
linkPreviews = linkPreviews,
|
||||
mentions = mentions,
|
||||
serverGuid = envelope.serverGuid,
|
||||
messageRanges = messageRanges,
|
||||
isPushMessage = true
|
||||
messageRanges = messageRanges
|
||||
)
|
||||
|
||||
insertResult = SignalDatabase.messages.insertMessageInbox(mediaMessage, -1).orNull()
|
||||
@@ -952,6 +953,7 @@ object DataMessageProcessor {
|
||||
notifyTypingStoppedFromIncomingMessage(context, senderRecipient, threadRecipient.id, metadata.sourceDeviceId)
|
||||
|
||||
val textMessage = IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = senderRecipient.id,
|
||||
sentTimeMillis = envelope.timestamp!!,
|
||||
serverTimeMillis = envelope.serverTimestamp!!,
|
||||
@@ -1027,6 +1029,7 @@ object DataMessageProcessor {
|
||||
|
||||
private fun insertPlaceholder(sender: RecipientId, timestamp: Long, groupId: GroupId?): InsertResult? {
|
||||
val textMessage = IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = sender,
|
||||
sentTimeMillis = timestamp,
|
||||
serverTimeMillis = -1,
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.content.Context
|
||||
import org.signal.core.util.concurrent.SignalExecutors
|
||||
import org.signal.core.util.orNull
|
||||
import org.thoughtcrime.securesms.database.MessageTable.InsertResult
|
||||
import org.thoughtcrime.securesms.database.MessageType
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.database.model.MediaMmsMessageRecord
|
||||
import org.thoughtcrime.securesms.database.model.MessageId
|
||||
@@ -140,6 +141,7 @@ object EditMessageProcessor {
|
||||
MediaUtil.SlideType.LONG_TEXT == MediaUtil.getSlideTypeFromContentType(it.contentType)
|
||||
}
|
||||
val mediaMessage = IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = senderRecipientId,
|
||||
sentTimeMillis = message.timestamp!!,
|
||||
serverTimeMillis = envelope.serverTimestamp!!,
|
||||
@@ -155,8 +157,7 @@ object EditMessageProcessor {
|
||||
linkPreviews = DataMessageProcessor.getLinkPreviews(message.preview, message.body ?: "", false),
|
||||
mentions = DataMessageProcessor.getMentions(message.bodyRanges),
|
||||
serverGuid = envelope.serverGuid,
|
||||
messageRanges = messageRanges,
|
||||
isPushMessage = true
|
||||
messageRanges = messageRanges
|
||||
)
|
||||
|
||||
val insertResult = SignalDatabase.messages.insertEditMessageInbox(mediaMessage, targetMessage).orNull()
|
||||
@@ -180,6 +181,7 @@ object EditMessageProcessor {
|
||||
targetMessage: MediaMmsMessageRecord
|
||||
): InsertResult? {
|
||||
val textMessage = IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = senderRecipientId,
|
||||
sentTimeMillis = envelope.timestamp!!,
|
||||
serverTimeMillis = envelope.timestamp!!,
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.signal.libsignal.protocol.SignalProtocolAddress
|
||||
import org.signal.libsignal.protocol.ecc.ECPublicKey
|
||||
import org.signal.libsignal.protocol.message.DecryptionErrorMessage
|
||||
import org.signal.libsignal.zkgroup.groups.GroupSecretParams
|
||||
import org.thoughtcrime.securesms.database.MessageType
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.database.model.GroupRecord
|
||||
import org.thoughtcrime.securesms.database.model.MessageLogEntry
|
||||
@@ -296,6 +297,7 @@ open class MessageContentProcessor(private val context: Context) {
|
||||
|
||||
private fun insertErrorMessage(context: Context, sender: Recipient, timestamp: Long, groupId: Optional<GroupId>, marker: (Long) -> Unit) {
|
||||
val textMessage = IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = sender.id,
|
||||
sentTimeMillis = timestamp,
|
||||
serverTimeMillis = -1,
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.graphics.Color
|
||||
import org.signal.core.util.Base64
|
||||
import org.signal.core.util.orNull
|
||||
import org.thoughtcrime.securesms.database.MessageTable.InsertResult
|
||||
import org.thoughtcrime.securesms.database.MessageType
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.database.model.StoryType
|
||||
import org.thoughtcrime.securesms.database.model.databaseprotos.ChatColor
|
||||
@@ -59,6 +60,7 @@ object StoryMessageProcessor {
|
||||
}
|
||||
|
||||
val mediaMessage = IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = senderRecipient.id,
|
||||
sentTimeMillis = envelope.timestamp!!,
|
||||
serverTimeMillis = envelope.serverTimestamp!!,
|
||||
|
||||
@@ -14,20 +14,19 @@ import org.thoughtcrime.securesms.linkpreview.LinkPreview
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId
|
||||
|
||||
class IncomingMessage(
|
||||
val type: MessageType,
|
||||
val from: RecipientId,
|
||||
val groupId: GroupId? = null,
|
||||
val groupContext: MessageGroupContext? = null,
|
||||
val body: String? = null,
|
||||
val isPushMessage: Boolean = false,
|
||||
val storyType: StoryType = StoryType.NONE,
|
||||
val parentStoryId: ParentStoryId? = null,
|
||||
val isStoryReaction: Boolean = false,
|
||||
val sentTimeMillis: Long,
|
||||
val serverTimeMillis: Long,
|
||||
val receivedTimeMillis: Long,
|
||||
val groupId: GroupId? = null,
|
||||
val groupContext: MessageGroupContext? = null,
|
||||
val body: String? = null,
|
||||
val storyType: StoryType = StoryType.NONE,
|
||||
val parentStoryId: ParentStoryId? = null,
|
||||
val isStoryReaction: Boolean = false,
|
||||
val subscriptionId: Int = -1,
|
||||
val expiresIn: Long = 0,
|
||||
val isExpirationUpdate: Boolean = false,
|
||||
val quote: QuoteModel? = null,
|
||||
val isUnidentified: Boolean = false,
|
||||
val isViewOnce: Boolean = false,
|
||||
@@ -37,8 +36,7 @@ class IncomingMessage(
|
||||
sharedContacts: List<Contact> = emptyList(),
|
||||
linkPreviews: List<LinkPreview> = emptyList(),
|
||||
mentions: List<Mention> = emptyList(),
|
||||
val giftBadge: GiftBadge? = null,
|
||||
val type: MessageType = MessageType.NORMAL
|
||||
val giftBadge: GiftBadge? = null
|
||||
) {
|
||||
|
||||
val attachments: List<Attachment> = ArrayList(attachments)
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.thoughtcrime.securesms.releasechannel
|
||||
|
||||
import org.thoughtcrime.securesms.attachments.PointerAttachment
|
||||
import org.thoughtcrime.securesms.database.MessageTable
|
||||
import org.thoughtcrime.securesms.database.MessageType
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.database.model.StoryType
|
||||
import org.thoughtcrime.securesms.database.model.databaseprotos.BodyRangeList
|
||||
@@ -61,6 +62,7 @@ object ReleaseChannel {
|
||||
}
|
||||
|
||||
val message = IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = recipientId,
|
||||
sentTimeMillis = System.currentTimeMillis(),
|
||||
serverTimeMillis = System.currentTimeMillis(),
|
||||
|
||||
@@ -31,6 +31,7 @@ object TestSms {
|
||||
threadId: Long = 1
|
||||
): Long {
|
||||
val message = IncomingMessage(
|
||||
type = MessageType.NORMAL,
|
||||
from = sender,
|
||||
sentTimeMillis = sentTimestampMillis,
|
||||
serverTimeMillis = serverTimestampMillis,
|
||||
|
||||
Reference in New Issue
Block a user