mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-21 09:20:19 +01:00
Support pinning of edited messages.
This commit is contained in:
committed by
jeffrey-signal
parent
fbbcf30737
commit
2d5a56a88a
@@ -1316,6 +1316,7 @@ object DataMessageProcessor {
|
||||
return null
|
||||
}
|
||||
|
||||
val targetMessageId = targetMessage.latestRevisionId?.id ?: targetMessage.id
|
||||
val duration = if (pinMessage.pinDurationForever == true) MessageTable.PIN_FOREVER else pinMessage.pinDurationSeconds!!.toLong()
|
||||
val pinnedMessage = IncomingMessage(
|
||||
type = MessageType.PINNED_MESSAGE,
|
||||
@@ -1327,7 +1328,7 @@ object DataMessageProcessor {
|
||||
groupId = groupId,
|
||||
isUnidentified = metadata.sealedSender,
|
||||
serverGuid = UuidUtil.getStringUUID(envelope.serverGuid, envelope.serverGuidBinary),
|
||||
messageExtras = MessageExtras(pinnedMessage = PinnedMessage(pinnedMessageId = targetMessage.id, targetAuthorAci = pinMessage.targetAuthorAciBinary!!, targetTimestamp = pinMessage.targetSentTimestamp!!, pinDurationInSeconds = duration))
|
||||
messageExtras = MessageExtras(pinnedMessage = PinnedMessage(pinnedMessageId = targetMessageId, targetAuthorAci = pinMessage.targetAuthorAciBinary!!, targetTimestamp = pinMessage.targetSentTimestamp!!, pinDurationInSeconds = duration))
|
||||
)
|
||||
|
||||
val insertResult: InsertResult? = SignalDatabase.messages.insertMessageInbox(pinnedMessage).orNull()
|
||||
@@ -1399,9 +1400,10 @@ object DataMessageProcessor {
|
||||
return null
|
||||
}
|
||||
|
||||
SignalDatabase.messages.unpinMessage(targetMessage.id, targetMessage.threadId)
|
||||
val targetMessageId = targetMessage.latestRevisionId?.id ?: targetMessage.id
|
||||
SignalDatabase.messages.unpinMessage(targetMessageId, targetMessage.threadId)
|
||||
|
||||
return MessageId(targetMessage.id)
|
||||
return MessageId(targetMessageId)
|
||||
}
|
||||
|
||||
fun notifyTypingStoppedFromIncomingMessage(context: Context, senderRecipient: Recipient, threadRecipientId: RecipientId, device: Int) {
|
||||
|
||||
@@ -1895,12 +1895,13 @@ object SyncMessageProcessor {
|
||||
return -1
|
||||
}
|
||||
|
||||
val targetMessageId = (targetMessage as? MmsMessageRecord)?.latestRevisionId?.id ?: targetMessage.id
|
||||
val duration = if (pinMessage.pinDurationForever == true) MessageTable.PIN_FOREVER else pinMessage.pinDurationSeconds!!.toLong()
|
||||
val outgoingMessage = OutgoingMessage.pinMessage(
|
||||
threadRecipient = recipient,
|
||||
sentTimeMillis = sent.timestamp!!,
|
||||
expiresIn = recipient.expiresInSeconds.seconds.inWholeMilliseconds,
|
||||
messageExtras = MessageExtras(pinnedMessage = PinnedMessage(pinnedMessageId = targetMessage.id, targetAuthorAci = pinMessage.targetAuthorAciBinary!!, targetTimestamp = pinMessage.targetSentTimestamp!!, pinDurationInSeconds = duration))
|
||||
messageExtras = MessageExtras(pinnedMessage = PinnedMessage(pinnedMessageId = targetMessageId, targetAuthorAci = pinMessage.targetAuthorAciBinary!!, targetTimestamp = pinMessage.targetSentTimestamp!!, pinDurationInSeconds = duration))
|
||||
)
|
||||
|
||||
val messageId = SignalDatabase.messages.insertMessageOutbox(outgoingMessage, threadId, false, GroupReceiptTable.STATUS_UNKNOWN, null).messageId
|
||||
|
||||
Reference in New Issue
Block a user