From 3e3ccd4b96505c0a26d41d1b2763555e86b9d107 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Thu, 30 Jun 2022 09:30:20 -0400 Subject: [PATCH] Fix distribution list sync crash. --- .../SyncDistributionListsMigrationJob.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/migrations/SyncDistributionListsMigrationJob.java b/app/src/main/java/org/thoughtcrime/securesms/migrations/SyncDistributionListsMigrationJob.java index 1b2e753a2..1387f40c1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/migrations/SyncDistributionListsMigrationJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/migrations/SyncDistributionListsMigrationJob.java @@ -2,9 +2,12 @@ package org.thoughtcrime.securesms.migrations; import androidx.annotation.NonNull; +import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.database.SignalDatabase; import org.thoughtcrime.securesms.jobmanager.Data; import org.thoughtcrime.securesms.jobmanager.Job; +import org.thoughtcrime.securesms.keyvalue.SignalStore; +import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.storage.StorageSyncHelper; /** @@ -14,6 +17,8 @@ public final class SyncDistributionListsMigrationJob extends MigrationJob { public static final String KEY = "SyncDistributionListsMigrationJob"; + private static final String TAG = Log.tag(SyncDistributionListsMigrationJob.class); + SyncDistributionListsMigrationJob() { this(new Parameters.Builder().build()); } @@ -34,6 +39,15 @@ public final class SyncDistributionListsMigrationJob extends MigrationJob { @Override public void performMigration() { + if (SignalStore.account().getAci() == null) { + Log.w(TAG, "Self not yet available."); + return; + } + + if (Recipient.self().getStoriesCapability() != Recipient.Capability.SUPPORTED) { + Log.i(TAG, "Stories capability is not supported."); + } + SignalDatabase.recipients().markNeedsSync(SignalDatabase.distributionLists().getAllListRecipients()); StorageSyncHelper.scheduleSyncForDataChange(); }