Recreate a storageId for self if one doesn't exist.

This commit is contained in:
Greyson Parrelli 2022-10-14 12:14:08 -04:00
parent 7ce1f9463e
commit 14a9e22b5e

View file

@ -111,6 +111,13 @@ public final class StorageSyncHelper {
.map(recipientDatabase::getRecordForSync)
.toList();
if (self.getStorageServiceId() == null) {
Log.w(TAG, "[buildAccountRecord] No storageId for self! Generating. (Record had ID: " + (record != null && record.getStorageId() != null) + ")");
SignalDatabase.recipients().updateStorageId(self.getId(), generateKey());
self = Recipient.self().fresh();
record = recipientDatabase.getRecordForSync(self.getId());
}
SignalAccountRecord account = new SignalAccountRecord.Builder(self.getStorageServiceId(), record != null ? record.getSyncExtras().getStorageProto() : null)
.setProfileKey(self.getProfileKey())
.setGivenName(self.getProfileName().getGivenName())