diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentTable.kt index 30a2c54577..51fe676a4f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentTable.kt @@ -1364,6 +1364,7 @@ class AttachmentTable( val filePathsToDelete: MutableSet = mutableSetOf() val contentTypesToDelete: MutableSet = mutableSetOf() + var threadId: Long = -1 writableDatabase.withinTransaction { db -> db.select(DATA_FILE, CONTENT_TYPE, ID) @@ -1411,12 +1412,16 @@ class AttachmentTable( AppDependencies.databaseObserver.notifyAttachmentDeletedObservers() - val threadId = messages.getThreadIdForMessage(messageId) + threadId = messages.getThreadIdForMessage(messageId) if (threadId > 0) { notifyConversationListeners(threadId) } } + if (threadId > 0) { + SignalDatabase.threads.updateSnippetContentTypeSilently(threadId, messageId, MediaUtil.VIEW_ONCE) + } + deleteDataFiles(filePathsToDelete, contentTypesToDelete) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/ThreadTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/ThreadTable.kt index 8dbcb3208f..c1aa038865 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/ThreadTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/ThreadTable.kt @@ -305,6 +305,14 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa .run() } + fun updateSnippetContentTypeSilently(threadId: Long, snippetMessageId: Long, mimeType: String) { + writableDatabase + .update(TABLE_NAME) + .values(SNIPPET_CONTENT_TYPE to mimeType) + .where("$ID = ? AND $SNIPPET_MESSAGE_ID = ?", threadId, snippetMessageId) + .run() + } + fun updateSnippet(threadId: Long, snippet: String?, attachment: Uri?, date: Long, type: Long, unarchive: Boolean) { if (isSilentType(type)) { return