From e0657d09d8686f10b7bf6e0bbd3c4d8d810721a5 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Wed, 4 Nov 2020 20:07:57 -0500 Subject: [PATCH] Fix issue where we weren't calling setTransactionSuccessful(). In a chain of events, this manifested by preventing the persistence of media messages in group threads. --- .../thoughtcrime/securesms/database/RecipientDatabase.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java index 5466148c7d..15cd5ec055 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java @@ -616,12 +616,14 @@ public class RecipientDatabase extends Database { Optional existing = getByColumn(GROUP_ID, groupId.toString()); if (existing.isPresent()) { + db.setTransactionSuccessful(); return existing.get(); } if (groupId.isV1()) { Optional v2 = getByGroupId(groupId.requireV1().deriveV2MigrationGroupId()); if (v2.isPresent()) { + db.setTransactionSuccessful(); return v2.get(); } } @@ -629,6 +631,7 @@ public class RecipientDatabase extends Database { if (groupId.isV2()) { Optional v1 = DatabaseFactory.getGroupDatabase(context).getGroupV1ByExpectedV2(groupId.requireV2()); if (v1.isPresent()) { + db.setTransactionSuccessful(); return v1.get().getRecipientId(); } } @@ -636,7 +639,6 @@ public class RecipientDatabase extends Database { RecipientId id = getOrInsertFromGroupId(groupId); db.setTransactionSuccessful(); - return id; } finally { db.endTransaction();