From 8d060837adb255253b32ef0c6051239fa3d15424 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Thu, 8 Oct 2020 09:46:26 -0400 Subject: [PATCH] Cleanup abandoned mentions during backup restore. --- .../org/thoughtcrime/securesms/database/MentionDatabase.java | 2 +- .../java/org/thoughtcrime/securesms/database/MmsDatabase.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/MentionDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/MentionDatabase.java index 1f05c4962e..0bbc54a745 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/MentionDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/MentionDatabase.java @@ -134,7 +134,7 @@ public class MentionDatabase extends Database { void deleteAbandonedMentions() { SQLiteDatabase db = databaseHelper.getWritableDatabase(); - String where = MESSAGE_ID + " NOT IN (SELECT _id FROM " + MmsDatabase.TABLE_NAME + ") OR " + THREAD_ID + " NOT IN (SELECT _id FROM " + ThreadDatabase.TABLE_NAME + ")"; + String where = MESSAGE_ID + " NOT IN (SELECT " + MmsDatabase.ID + " FROM " + MmsDatabase.TABLE_NAME + ") OR " + THREAD_ID + " NOT IN (SELECT " + ThreadDatabase.ID + " FROM " + ThreadDatabase.TABLE_NAME + ")"; db.delete(TABLE_NAME, where, null); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.java index a3884e2ea2..0323bb9848 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.java @@ -935,6 +935,8 @@ public class MmsDatabase extends MessageDatabase { } } + DatabaseFactory.getMentionDatabase(context).deleteAbandonedMentions(); + try (Cursor cursor = database.query(ThreadDatabase.TABLE_NAME, new String[] { ThreadDatabase.ID }, ThreadDatabase.EXPIRES_IN + " > 0", null, null, null, null)) { while (cursor != null && cursor.moveToNext()) { DatabaseFactory.getThreadDatabase(context).update(cursor.getLong(0), false);