From 98d9d81aff359ab1beaaca004426075fb153266c Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Tue, 9 Jun 2020 15:11:37 -0400 Subject: [PATCH] Insert receipts in a transaction. --- .../database/GroupReceiptDatabase.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/GroupReceiptDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/GroupReceiptDatabase.java index 1a1569eee0..9911925916 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/GroupReceiptDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/GroupReceiptDatabase.java @@ -47,14 +47,20 @@ public class GroupReceiptDatabase extends Database { public void insert(Collection recipientIds, long mmsId, int status, long timestamp) { SQLiteDatabase db = databaseHelper.getWritableDatabase(); - for (RecipientId recipientId : recipientIds) { - ContentValues values = new ContentValues(4); - values.put(MMS_ID, mmsId); - values.put(RECIPIENT_ID, recipientId.serialize()); - values.put(STATUS, status); - values.put(TIMESTAMP, timestamp); + db.beginTransaction(); + try { + for (RecipientId recipientId : recipientIds) { + ContentValues values = new ContentValues(4); + values.put(MMS_ID, mmsId); + values.put(RECIPIENT_ID, recipientId.serialize()); + values.put(STATUS, status); + values.put(TIMESTAMP, timestamp); - db.insert(TABLE_NAME, null, values); + db.insert(TABLE_NAME, null, values); + } + db.setTransactionSuccessful(); + } finally { + db.endTransaction(); } }