From: AsamK Date: Tue, 24 May 2022 18:09:01 +0000 (+0200) Subject: Handle account record the same as other records when reading storage X-Git-Tag: v0.10.7~11 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/87016f6ecf95202384632d45253edcda0af5f204?hp=145962597cd83c9e02f1133e360f9ddff647ffb0 Handle account record the same as other records when reading storage --- diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/StorageHelper.java b/lib/src/main/java/org/asamk/signal/manager/helper/StorageHelper.java index ff8232e1..426806ff 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/StorageHelper.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/StorageHelper.java @@ -58,16 +58,12 @@ public class StorageHelper { account.setStorageManifestVersion(manifest.get().getVersion()); - readAccountRecord(manifest.get()); - - final var storageIds = manifest.get() - .getStorageIds() - .stream() - .filter(id -> !id.isUnknown() && id.getType() != ManifestRecord.Identifier.Type.ACCOUNT_VALUE) - .toList(); + final var storageIds = manifest.get().getStorageIds().stream().filter(id -> !id.isUnknown()).toList(); for (final var record : getSignalStorageRecords(storageIds)) { - if (record.getType() == ManifestRecord.Identifier.Type.GROUPV2_VALUE) { + if (record.getType() == ManifestRecord.Identifier.Type.ACCOUNT_VALUE) { + readAccountRecord(record); + } else if (record.getType() == ManifestRecord.Identifier.Type.GROUPV2_VALUE) { readGroupV2Record(record); } else if (record.getType() == ManifestRecord.Identifier.Type.GROUPV1_VALUE) { readGroupV1Record(record); @@ -174,14 +170,7 @@ public class StorageHelper { } } - private void readAccountRecord(final SignalStorageManifest manifest) throws IOException { - Optional accountId = manifest.getAccountStorageId(); - if (accountId.isEmpty()) { - logger.warn("Manifest has no account record, ignoring."); - return; - } - - SignalStorageRecord record = getSignalStorageRecord(accountId.get()); + private void readAccountRecord(final SignalStorageRecord record) throws IOException { if (record == null) { logger.warn("Could not find account record, even though we had an ID, ignoring."); return;