X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/0ad42a72ab64e663733eb7ab89b6de5ec9f80a4a..ee5062a2cc83078d1d1d33cba32bbaa89e96f52e:/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..da512706 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<>(); + public static List groupsWithLegacyAvatarId = new ArrayList<>(); + private static final ObjectMapper jsonProcessot = 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; } @@ -51,6 +50,10 @@ public class JsonGroupStore { JsonNode node = jsonParser.getCodec().readTree(jsonParser); for (JsonNode n : node) { GroupInfo g = jsonProcessot.treeToValue(n, GroupInfo.class); + // Check if a legacy avatarId exists + if (g.getAvatarId() != 0) { + groupsWithLegacyAvatarId.add(g); + } groups.put(Base64.encodeBytes(g.groupId), g); }