X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/4adb11dada29ac6ca2d12270fd7e617007ff9bf3..c72aeed8bba4d5ca873b36b4edb2b8eda9c24ec7:/src/main/java/org/asamk/signal/manager/groups/GroupId.java diff --git a/src/main/java/org/asamk/signal/manager/groups/GroupId.java b/src/main/java/org/asamk/signal/manager/groups/GroupId.java deleted file mode 100644 index f56e5d38..00000000 --- a/src/main/java/org/asamk/signal/manager/groups/GroupId.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.asamk.signal.manager.groups; - -import java.util.Arrays; -import java.util.Base64; - -public abstract class GroupId { - - private final byte[] id; - - public static GroupIdV1 v1(byte[] id) { - return new GroupIdV1(id); - } - - public static GroupIdV2 v2(byte[] id) { - return new GroupIdV2(id); - } - - public static GroupId unknownVersion(byte[] id) { - if (id.length == 16) { - return new GroupIdV1(id); - } else if (id.length == 32) { - return new GroupIdV2(id); - } - - throw new AssertionError("Invalid group id of size " + id.length); - } - - public static GroupId fromBase64(String id) throws GroupIdFormatException { - try { - return unknownVersion(java.util.Base64.getDecoder().decode(id)); - } catch (Throwable e) { - throw new GroupIdFormatException(id, e); - } - } - - public GroupId(final byte[] id) { - this.id = id; - } - - public byte[] serialize() { - return id; - } - - public String toBase64() { - return Base64.getEncoder().encodeToString(id); - } - - @Override - public boolean equals(final Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - final GroupId groupId = (GroupId) o; - - return Arrays.equals(id, groupId.id); - } - - @Override - public int hashCode() { - return Arrays.hashCode(id); - } -}