mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-24 21:15:48 +00:00
Fix edit message clearing story reply quote.
This commit is contained in:
@@ -2966,6 +2966,17 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat
|
||||
}
|
||||
}
|
||||
|
||||
val parentStoryId: Long = if (editedMessage == null) {
|
||||
if (message.parentStoryId != null) message.parentStoryId.serialize() else 0
|
||||
} else {
|
||||
val originalId = (editedMessage as? MmsMessageRecord)?.parentStoryId
|
||||
if (originalId != null && message.outgoingQuote != null) {
|
||||
originalId.serialize()
|
||||
} else {
|
||||
0L
|
||||
}
|
||||
}
|
||||
|
||||
val contentValues = ContentValues()
|
||||
contentValues.put(DATE_SENT, message.sentTimeMillis)
|
||||
contentValues.put(TYPE, type)
|
||||
@@ -2981,7 +2992,7 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat
|
||||
contentValues.put(HAS_DELIVERY_RECEIPT, earlyDeliveryReceipts.values.sumOf { it.count })
|
||||
contentValues.put(RECEIPT_TIMESTAMP, earlyDeliveryReceipts.values.map { it.timestamp }.maxOrNull() ?: -1L)
|
||||
contentValues.put(STORY_TYPE, message.storyType.code)
|
||||
contentValues.put(PARENT_STORY_ID, if (message.parentStoryId != null) message.parentStoryId.serialize() else 0)
|
||||
contentValues.put(PARENT_STORY_ID, parentStoryId)
|
||||
contentValues.put(SCHEDULED_DATE, message.scheduledDate)
|
||||
contentValues.putNull(LATEST_REVISION_ID)
|
||||
contentValues.put(MESSAGE_EXTRAS, message.messageExtras?.encode())
|
||||
|
||||
@@ -122,7 +122,7 @@ object EditMessageProcessor {
|
||||
): InsertResult? {
|
||||
val messageRanges: BodyRangeList? = message.bodyRanges.filter { it.mentionAci == null }.toList().toBodyRangeList()
|
||||
val targetQuote = targetMessage.quote
|
||||
val quote: QuoteModel? = if (targetQuote != null && message.quote != null) {
|
||||
val quote: QuoteModel? = if (targetQuote != null && (message.quote != null || (targetMessage.parentStoryId != null && message.storyContext != null))) {
|
||||
QuoteModel(
|
||||
targetQuote.id,
|
||||
targetQuote.author,
|
||||
@@ -153,6 +153,7 @@ object EditMessageProcessor {
|
||||
groupId = groupId,
|
||||
attachments = attachments,
|
||||
quote = quote,
|
||||
parentStoryId = targetMessage.parentStoryId,
|
||||
sharedContacts = emptyList(),
|
||||
linkPreviews = DataMessageProcessor.getLinkPreviews(message.preview, message.body ?: "", false),
|
||||
mentions = DataMessageProcessor.getMentions(message.bodyRanges),
|
||||
@@ -188,6 +189,7 @@ object EditMessageProcessor {
|
||||
receivedTimeMillis = targetMessage.dateReceived,
|
||||
body = message.body,
|
||||
groupId = groupId,
|
||||
parentStoryId = targetMessage.parentStoryId,
|
||||
expiresIn = targetMessage.expiresIn,
|
||||
isUnidentified = metadata.sealedSender,
|
||||
serverGuid = envelope.serverGuid
|
||||
|
||||
Reference in New Issue
Block a user