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

pull/1710/head
SessionHero01 4 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 ->
val messagesWithAttachment = mmsSmsDatabase.getAllMessageRecordsBefore(threadId, TimeUnit.SECONDS.toMillis(removeAttachmentsBefore))
.filterTo(mutableSetOf()) { it is MmsMessageRecord && (
// Must not be a link preview, or an audio message
!it.isLinkPreview && !it.isAudioMessage)
}
.filterTo(mutableSetOf()) { it is MmsMessageRecord && it.containsAttachment }
conversationRepository.markAsDeletedLocally(messagesWithAttachment, context.getString(R.string.deleteMessageDeletedGlobally))
}
}
}
// Whether this mms message is purely a link preview
private val MmsMessageRecord.isLinkPreview: Boolean
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 val MmsMessageRecord.containsAttachment: Boolean
get() = this.slideDeck.slides.isNotEmpty() && this.slideDeck.audioSlide == null
private data class UpdateContacts(val contacts: List<Contact>)

Loading…
Cancel
Save