diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/importer/ChatItemArchiveImporter.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/importer/ChatItemArchiveImporter.kt index 166e4cec3d..973dcb4182 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/importer/ChatItemArchiveImporter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/importer/ChatItemArchiveImporter.kt @@ -132,6 +132,7 @@ class ChatItemArchiveImporter( MessageTable.MESSAGE_EXTRAS, MessageTable.ORIGINAL_MESSAGE_ID, MessageTable.LATEST_REVISION_ID, + MessageTable.REVISION_NUMBER, MessageTable.PARENT_STORY_ID, MessageTable.NOTIFIED ) @@ -193,14 +194,18 @@ class ChatItemArchiveImporter( val latestRevisionId = originalId + chatItem.revisions.size val sortedRevisions = chatItem.revisions.sortedBy { it.dateSent }.map { it.toMessageInsert(fromLocalRecipientId, chatLocalRecipientId, localThreadId) } for (revision in sortedRevisions) { - revision.contentValues.put(MessageTable.ORIGINAL_MESSAGE_ID, originalId) + val revisionNumber = messageId - originalId + if (revisionNumber > 0) { + revision.contentValues.put(MessageTable.ORIGINAL_MESSAGE_ID, originalId) + } revision.contentValues.put(MessageTable.LATEST_REVISION_ID, latestRevisionId) - revision.contentValues.put(MessageTable.REVISION_NUMBER, (messageId - originalId)) + revision.contentValues.put(MessageTable.REVISION_NUMBER, revisionNumber) buffer.messages += revision messageId++ } messageInsert.contentValues.put(MessageTable.ORIGINAL_MESSAGE_ID, originalId) + messageInsert.contentValues.put(MessageTable.REVISION_NUMBER, (messageId - originalId)) } buffer.messages += messageInsert buffer.reactions += chatItem.toReactionContentValues(messageId)