[SES-2966] - Delete the right attachments (#850)

pull/1710/head
SessionHero01 5 months ago committed by GitHub
parent e761ff81fc
commit 5ce2d03bfd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -206,23 +206,15 @@ class ConfigToDatabaseSync @Inject constructor(
} }
groupInfoConfig.deleteAttachmentsBefore?.let { removeAttachmentsBefore -> groupInfoConfig.deleteAttachmentsBefore?.let { removeAttachmentsBefore ->
val messagesWithAttachment = mmsSmsDatabase.getAllMessageRecordsBefore(threadId, TimeUnit.SECONDS.toMillis(removeAttachmentsBefore)) val messagesWithAttachment = mmsSmsDatabase.getAllMessageRecordsBefore(threadId, TimeUnit.SECONDS.toMillis(removeAttachmentsBefore))
.filterTo(mutableSetOf()) { it is MmsMessageRecord && ( .filterTo(mutableSetOf()) { it is MmsMessageRecord && it.containsAttachment }
// Must not be a link preview, or an audio message
!it.isLinkPreview && !it.isAudioMessage)
}
conversationRepository.markAsDeletedLocally(messagesWithAttachment, context.getString(R.string.deleteMessageDeletedGlobally)) conversationRepository.markAsDeletedLocally(messagesWithAttachment, context.getString(R.string.deleteMessageDeletedGlobally))
} }
} }
} }
// Whether this mms message is purely a link preview private val MmsMessageRecord.containsAttachment: Boolean
private val MmsMessageRecord.isLinkPreview: Boolean get() = this.slideDeck.slides.isNotEmpty() && this.slideDeck.audioSlide == null
get() = this.slideDeck.slides.isEmpty() && this.linkPreviews.isNotEmpty()
// Whether this message is purely an audio message
private val MmsMessageRecord.isAudioMessage: Boolean
get() = this.slideDeck.audioSlide != null
private data class UpdateContacts(val contacts: List<Contact>) private data class UpdateContacts(val contacts: List<Contact>)

Loading…
Cancel
Save