diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentDatabase.java index 71b2afa8f..a8bb37fc4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentDatabase.java @@ -626,7 +626,10 @@ public class AttachmentDatabase extends Database { //noinspection ResultOfMethodCallIgnored dataInfo.file.delete(); } else { - notifyConversationListeners(DatabaseFactory.getMmsDatabase(context).getThreadIdForMessage(mmsId)); + long threadId = DatabaseFactory.getMmsDatabase(context).getThreadIdForMessage(mmsId); + DatabaseFactory.getThreadDatabase(context).updateSnippetUriSilently(threadId, PartAuthority.getAttachmentDataUri(attachmentId)); + + notifyConversationListeners(threadId); notifyConversationListListeners(); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/ThreadDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/ThreadDatabase.java index 8f653b0e3..808b7a3ad 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/ThreadDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/ThreadDatabase.java @@ -226,6 +226,14 @@ public class ThreadDatabase extends Database { } } + public void updateSnippetUriSilently(long threadId, @Nullable Uri attachment) { + ContentValues contentValues = new ContentValues(); + contentValues.put(SNIPPET_URI, attachment != null ? attachment.toString() : null); + + SQLiteDatabase db = databaseHelper.getSignalWritableDatabase(); + db.update(TABLE_NAME, contentValues, ID_WHERE, SqlUtil.buildArgs(threadId)); + } + public void updateSnippet(long threadId, String snippet, @Nullable Uri attachment, long date, long type, boolean unarchive) { if (isSilentType(type)) { return; @@ -242,7 +250,7 @@ public class ThreadDatabase extends Database { } SQLiteDatabase db = databaseHelper.getSignalWritableDatabase(); - db.update(TABLE_NAME, contentValues, ID + " = ?", new String[] {threadId + ""}); + db.update(TABLE_NAME, contentValues, ID_WHERE, SqlUtil.buildArgs(threadId)); notifyConversationListListeners(); }