diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ArchiveErrorCases.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ArchiveErrorCases.kt index 9a7f11e8f0..c1d2200855 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ArchiveErrorCases.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ArchiveErrorCases.kt @@ -135,6 +135,10 @@ object ExportSkips { return log(sentTimestamp, "Poll option was invalid.") } + fun pollNotInGroupChat(sentTimestamp: Long): String { + return log(sentTimestamp, "Poll was not in a group chat.") + } + fun individualChatUpdateInWrongTypeOfChat(sentTimestamp: Long): String { return log(sentTimestamp, "A chat update that only makes sense for individual chats was found in a different kind of chat.") } diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/exporters/ChatItemArchiveExporter.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/exporters/ChatItemArchiveExporter.kt index 8f431435c3..ad43291b23 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/exporters/ChatItemArchiveExporter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/exporters/ChatItemArchiveExporter.kt @@ -395,6 +395,11 @@ class ChatItemArchiveExporter( } extraData.pollsById[record.id] != null -> { + if (exportState.threadIdToRecipientId[builder.chatId] !in exportState.groupRecipientIds) { + Log.w(TAG, ExportSkips.pollNotInGroupChat(record.dateSent)) + continue + } + val poll = extraData.pollsById[record.id]!! if (poll.question.isEmpty() || poll.question.length > MAX_POLL_CHARACTER_LENGTH) { Log.w(TAG, ExportSkips.invalidPollQuestion(record.dateSent))