From 398527d3f11e55fe2635e2beab9131ba0e70578a Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Tue, 16 May 2023 13:17:09 -0300 Subject: [PATCH] Ignore table update when remap already exists. --- .../org/thoughtcrime/securesms/database/GroupTable.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/GroupTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/GroupTable.kt index 2c3218c1a3..67f5820e12 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/GroupTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/GroupTable.kt @@ -231,7 +231,13 @@ class GroupTable(context: Context?, databaseHelper: SignalDatabase?) : DatabaseT updateCount += db.update(MembershipTable.TABLE_NAME) .values(MembershipTable.RECIPIENT_ID to new!!.serialize()) .where("${MembershipTable.GROUP_ID} = ? AND ${MembershipTable.RECIPIENT_ID} = ?", groupId, old) - .run() + .run(conflictStrategy = SQLiteDatabase.CONFLICT_IGNORE) + + if (updateCount == 0) { + db.delete(MembershipTable.TABLE_NAME) + .where("${MembershipTable.GROUP_ID} = ? AND ${MembershipTable.RECIPIENT_ID} = ?", groupId, old) + .run() + } } } }