diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/util/FrameExtensions.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/util/FrameExtensions.kt index f94cc54dfc..942b8fb814 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/util/FrameExtensions.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/util/FrameExtensions.kt @@ -35,7 +35,7 @@ private fun AccountData.getAllReferencedArchiveAttachmentInfos(): Set { - val info = this.style?.wallpaperPhoto?.toArchiveAttachmentInfo() + val info = this.style?.wallpaperPhoto?.toArchiveAttachmentInfo(isWallpaper = true) return if (info != null) { setOf(info) @@ -73,7 +73,7 @@ private fun ChatItem.getAllReferencedArchiveAttachmentInfos(): Set { return readableDatabase .select(ID) - .from(TABLE_NAME) + .from("$TABLE_NAME INNER JOIN ${MessageTable.TABLE_NAME} ON $TABLE_NAME.$MESSAGE_ID = ${MessageTable.TABLE_NAME}.${MessageTable.ID}") .where( """ - $ARCHIVE_TRANSFER_STATE = ${ArchiveTransferState.FINISHED.value} AND - $ARCHIVE_THUMBNAIL_TRANSFER_STATE IN (${ArchiveTransferState.NONE.value}, ${ArchiveTransferState.TEMPORARY_FAILURE.value}) AND + ${buildAttachmentsThatNeedUploadQuery("$ARCHIVE_THUMBNAIL_TRANSFER_STATE IN (${ArchiveTransferState.NONE.value}, ${ArchiveTransferState.TEMPORARY_FAILURE.value})")} AND $QUOTE = 0 AND ($CONTENT_TYPE LIKE 'image/%' OR $CONTENT_TYPE LIKE 'video/%') AND - $CONTENT_TYPE != 'image/svg+xml' + $CONTENT_TYPE != 'image/svg+xml' AND + $MESSAGE_ID != $WALLPAPER_MESSAGE_ID """ ) .run() @@ -3065,16 +3065,12 @@ class AttachmentTable( """ ( SELECT DISTINCT $DATA_HASH_END, $REMOTE_KEY - FROM $TABLE_NAME INNER JOIN ${MessageTable.TABLE_NAME} AS m ON $TABLE_NAME.$MESSAGE_ID = m.${MessageTable.ID} + FROM $TABLE_NAME INNER JOIN ${MessageTable.TABLE_NAME} ON $TABLE_NAME.$MESSAGE_ID = ${MessageTable.TABLE_NAME}.${MessageTable.ID} WHERE - $DATA_FILE NOT NULL AND - $DATA_HASH_END NOT NULL AND - $REMOTE_KEY NOT NULL AND - $TRANSFER_STATE = $TRANSFER_PROGRESS_DONE AND - $ARCHIVE_TRANSFER_STATE != ${ArchiveTransferState.PERMANENT_FAILURE.value} AND + ${buildAttachmentsThatNeedUploadQuery("$ARCHIVE_THUMBNAIL_TRANSFER_STATE != ${ArchiveTransferState.PERMANENT_FAILURE.value}")} AND ($CONTENT_TYPE LIKE 'image/%' OR $CONTENT_TYPE LIKE 'video/%') AND $CONTENT_TYPE != 'image/svg+xml' AND - ${getMessageDoesNotExpireWithinTimeoutClause(tablePrefix = "m")} + $MESSAGE_ID != $WALLPAPER_MESSAGE_ID ) """ ) @@ -3340,11 +3336,11 @@ class AttachmentTable( SELECT DISTINCT $DATA_HASH_END, $REMOTE_KEY FROM $TABLE_NAME LEFT JOIN ${MessageTable.TABLE_NAME} ON $TABLE_NAME.$MESSAGE_ID = ${MessageTable.TABLE_NAME}.${MessageTable.ID} WHERE - $ARCHIVE_THUMBNAIL_TRANSFER_STATE = ${state.value} AND - $ARCHIVE_TRANSFER_STATE = ${ArchiveTransferState.FINISHED.value} AND + ${buildAttachmentsThatNeedUploadQuery("$ARCHIVE_THUMBNAIL_TRANSFER_STATE = ${state.value}")} AND $QUOTE = 0 AND ($CONTENT_TYPE LIKE 'image/%' OR $CONTENT_TYPE LIKE 'video/%') AND - $CONTENT_TYPE != 'image/svg+xml' + $CONTENT_TYPE != 'image/svg+xml' AND + $MESSAGE_ID != $WALLPAPER_MESSAGE_ID ) """ ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/BackupMessagesJob.kt b/app/src/main/java/org/thoughtcrime/securesms/jobs/BackupMessagesJob.kt index d71db2e51f..4d86214db3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/BackupMessagesJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/BackupMessagesJob.kt @@ -487,8 +487,10 @@ class BackupMessagesJob private constructor( */ private fun Set.toThumbnailMediaEntries(mediaRootBackupKey: MediaRootBackupKey): Set { return this + .asSequence() .filter { MediaUtil.isImageOrVideoType(it.contentType) } .filterNot { it.forQuote } + .filterNot { it.isWallpaper } .map { BackupMediaSnapshotTable.MediaEntry( mediaId = it.thumbnailMediaName.toMediaId(mediaRootBackupKey).encode(),