From 6e5abc92a0dd1b01f4cbad2a826f62c0148a75b5 Mon Sep 17 00:00:00 2001 From: Alan Evans Date: Tue, 17 Nov 2020 15:52:38 -0400 Subject: [PATCH] Fix situation where group thread does not yet exist. --- .../securesms/profiles/spoofing/ReviewUtil.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/profiles/spoofing/ReviewUtil.java b/app/src/main/java/org/thoughtcrime/securesms/profiles/spoofing/ReviewUtil.java index e8dc66612..68d264be0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/profiles/spoofing/ReviewUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/profiles/spoofing/ReviewUtil.java @@ -24,7 +24,9 @@ import java.util.List; import java.util.Objects; import java.util.concurrent.TimeUnit; -public class ReviewUtil { +public final class ReviewUtil { + + private ReviewUtil() { } private static final long TIMEOUT = TimeUnit.HOURS.toMillis(24); @@ -91,9 +93,13 @@ public class ReviewUtil { @WorkerThread public static @NonNull List getProfileChangeRecordsForGroup(@NonNull Context context, @NonNull GroupId.V2 groupId) { RecipientId recipientId = DatabaseFactory.getRecipientDatabase(context).getByGroupId(groupId).get(); - long threadId = Objects.requireNonNull(DatabaseFactory.getThreadDatabase(context).getThreadIdFor(recipientId)); + Long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(recipientId); - return DatabaseFactory.getSmsDatabase(context).getProfileChangeDetailsRecords(threadId, System.currentTimeMillis() - TIMEOUT); + if (threadId == null) { + return Collections.emptyList(); + } else { + return DatabaseFactory.getSmsDatabase(context).getProfileChangeDetailsRecords(threadId, System.currentTimeMillis() - TIMEOUT); + } } @WorkerThread