Fix distribution list sync crash.

fork-5.53.8
Cody Henthorne 2022-06-30 09:30:20 -04:00
rodzic 0e9344c8e3
commit 3e3ccd4b96
1 zmienionych plików z 14 dodań i 0 usunięć

Wyświetl plik

@ -2,9 +2,12 @@ package org.thoughtcrime.securesms.migrations;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import org.signal.core.util.logging.Log;
import org.thoughtcrime.securesms.database.SignalDatabase; import org.thoughtcrime.securesms.database.SignalDatabase;
import org.thoughtcrime.securesms.jobmanager.Data; import org.thoughtcrime.securesms.jobmanager.Data;
import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.Job;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.storage.StorageSyncHelper; import org.thoughtcrime.securesms.storage.StorageSyncHelper;
/** /**
@ -14,6 +17,8 @@ public final class SyncDistributionListsMigrationJob extends MigrationJob {
public static final String KEY = "SyncDistributionListsMigrationJob"; public static final String KEY = "SyncDistributionListsMigrationJob";
private static final String TAG = Log.tag(SyncDistributionListsMigrationJob.class);
SyncDistributionListsMigrationJob() { SyncDistributionListsMigrationJob() {
this(new Parameters.Builder().build()); this(new Parameters.Builder().build());
} }
@ -34,6 +39,15 @@ public final class SyncDistributionListsMigrationJob extends MigrationJob {
@Override @Override
public void performMigration() { 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()); SignalDatabase.recipients().markNeedsSync(SignalDatabase.distributionLists().getAllListRecipients());
StorageSyncHelper.scheduleSyncForDataChange(); StorageSyncHelper.scheduleSyncForDataChange();
} }