X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/0ad42a72ab64e663733eb7ab89b6de5ec9f80a4a..2351a89b0046d54f0830c536cc504a04436cf2b4:/src/main/java/org/asamk/signal/JsonGroupStore.java diff --git a/src/main/java/org/asamk/signal/JsonGroupStore.java b/src/main/java/org/asamk/signal/JsonGroupStore.java index 29dc0031..aa7e3a45 100644 --- a/src/main/java/org/asamk/signal/JsonGroupStore.java +++ b/src/main/java/org/asamk/signal/JsonGroupStore.java @@ -19,17 +19,16 @@ public class JsonGroupStore { @JsonDeserialize(using = JsonGroupStore.GroupsDeserializer.class) private Map groups = new HashMap<>(); - private static final ObjectMapper jsonProcessot = new ObjectMapper(); + public static List groupsWithLegacyAvatarId = new ArrayList<>(); + + private static final ObjectMapper jsonProcessor = new ObjectMapper(); void updateGroup(GroupInfo group) { groups.put(Base64.encodeBytes(group.groupId), group); } - GroupInfo getGroup(byte[] groupId) throws GroupNotFoundException { + GroupInfo getGroup(byte[] groupId) { GroupInfo g = groups.get(Base64.encodeBytes(groupId)); - if (g == null) { - throw new GroupNotFoundException(groupId); - } return g; } @@ -50,7 +49,11 @@ public class JsonGroupStore { Map groups = new HashMap<>(); JsonNode node = jsonParser.getCodec().readTree(jsonParser); for (JsonNode n : node) { - GroupInfo g = jsonProcessot.treeToValue(n, GroupInfo.class); + GroupInfo g = jsonProcessor.treeToValue(n, GroupInfo.class); + // Check if a legacy avatarId exists + if (g.getAvatarId() != 0) { + groupsWithLegacyAvatarId.add(g); + } groups.put(Base64.encodeBytes(g.groupId), g); }