From 7cac62f3f2a119c33816594fb420ea25b10077c8 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Fri, 22 Oct 2021 14:52:37 -0400 Subject: [PATCH] Update thread after attachment downloads. --- .../securesms/database/AttachmentDatabase.java | 5 ++++- .../securesms/database/ThreadDatabase.java | 10 +++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) 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(); }