From: AsamK Date: Thu, 10 Feb 2022 14:40:04 +0000 (+0100) Subject: Fix behavior when reading a v1 group from storage that has already been migrated... X-Git-Tag: v0.10.4~26 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/fd8ba66509d5f11f7829b0f8ea8458a0008914b7?ds=sidebyside Fix behavior when reading a v1 group from storage that has already been migrated locally Fixes #888 --- 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 960ed1d5..dfed3d43 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 @@ -129,18 +129,18 @@ public class StorageHelper { final var groupV1Record = record.getGroupV1().get(); final var groupIdV1 = GroupId.v1(groupV1Record.getGroupId()); - final var group = account.getGroupStore().getGroup(groupIdV1); + var group = account.getGroupStore().getGroup(groupIdV1); if (group == null) { try { context.getGroupHelper().sendGroupInfoRequest(groupIdV1, account.getSelfRecipientId()); } catch (Throwable e) { logger.warn("Failed to send group request", e); } + group = account.getGroupStore().getOrCreateGroupV1(groupIdV1); } - final var groupV1 = account.getGroupStore().getOrCreateGroupV1(groupIdV1); - if (groupV1.isBlocked() != groupV1Record.isBlocked()) { - groupV1.setBlocked(groupV1Record.isBlocked()); - account.getGroupStore().updateGroup(groupV1); + if (group != null && group.isBlocked() != groupV1Record.isBlocked()) { + group.setBlocked(groupV1Record.isBlocked()); + account.getGroupStore().updateGroup(group); } }