From a21c537428c362883785348afba5a3d9f492899e Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Wed, 25 Sep 2019 08:49:32 -0400 Subject: [PATCH] Fix crash during JobMigration. --- .../jobmanager/migrations/RecipientIdJobMigration.java | 2 +- src/org/thoughtcrime/securesms/recipients/Recipient.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/org/thoughtcrime/securesms/jobmanager/migrations/RecipientIdJobMigration.java b/src/org/thoughtcrime/securesms/jobmanager/migrations/RecipientIdJobMigration.java index a379e06cec..f173bdcf02 100644 --- a/src/org/thoughtcrime/securesms/jobmanager/migrations/RecipientIdJobMigration.java +++ b/src/org/thoughtcrime/securesms/jobmanager/migrations/RecipientIdJobMigration.java @@ -48,7 +48,7 @@ public class RecipientIdJobMigration extends JobMigration { private @NonNull JobData migrateMultiDeviceContactUpdateJob(@NonNull JobData jobData) { String address = jobData.getData().getString("address"); - Data updatedData = new Data.Builder().putString("recipient", Recipient.external(application, address).getId().serialize()) + Data updatedData = new Data.Builder().putString("recipient", address != null ? Recipient.external(application, address).getId().serialize() : null) .putBoolean("force_sync", jobData.getData().getBoolean("force_sync")) .build(); diff --git a/src/org/thoughtcrime/securesms/recipients/Recipient.java b/src/org/thoughtcrime/securesms/recipients/Recipient.java index aee90cfa53..01252d97a9 100644 --- a/src/org/thoughtcrime/securesms/recipients/Recipient.java +++ b/src/org/thoughtcrime/securesms/recipients/Recipient.java @@ -34,6 +34,7 @@ import org.thoughtcrime.securesms.phonenumbers.PhoneNumberFormatter; import org.thoughtcrime.securesms.util.GroupUtil; import org.thoughtcrime.securesms.util.Util; import org.whispersystems.libsignal.util.guava.Optional; +import org.whispersystems.libsignal.util.guava.Preconditions; import java.util.ArrayList; import java.util.Collections; @@ -100,6 +101,8 @@ public class Recipient { */ @WorkerThread public static @NonNull Recipient external(@NonNull Context context, @NonNull String address) { + Preconditions.checkNotNull(address, "Address cannot be null."); + RecipientDatabase db = DatabaseFactory.getRecipientDatabase(context); RecipientId id = null;