From b738f5740c94fe7a5df9e322e1345a99ef0c5ce5 Mon Sep 17 00:00:00 2001 From: AsamK Date: Tue, 29 Dec 2020 22:15:38 +0100 Subject: [PATCH] Move storage package to manager --- .../asamk/signal/ReceiveMessageHandler.java | 4 +- .../signal/commands/ListContactsCommand.java | 2 +- .../signal/commands/ListGroupsCommand.java | 2 +- .../commands/ListIdentitiesCommand.java | 10 +-- .../org/asamk/signal/dbus/DbusSignalImpl.java | 2 +- .../org/asamk/signal/manager/Manager.java | 37 +++++---- .../signal/manager/ProvisioningManager.java | 2 +- .../signal/manager/groups/GroupUtils.java | 6 +- .../signal/manager/helper/GroupHelper.java | 4 +- .../manager/helper/ProfileProvider.java | 2 +- .../helper/UnidentifiedAccessHelper.java | 2 +- .../{ => manager}/storage/SignalAccount.java | 32 ++++---- .../storage/contacts/ContactInfo.java | 2 +- .../storage/contacts/JsonContactsStore.java | 2 +- .../storage/groups/GroupInfo.java | 2 +- .../storage/groups/GroupInfoV1.java | 2 +- .../storage/groups/GroupInfoV2.java | 2 +- .../storage/groups/JsonGroupStore.java | 2 +- .../storage/profiles/ProfileStore.java | 2 +- .../storage/profiles/SignalProfile.java | 2 +- .../storage/profiles/SignalProfileEntry.java | 2 +- .../storage/protocol/IdentityInfo.java | 57 +++++++++++++ .../protocol/JsonIdentityKeyStore.java | 81 ++++--------------- .../storage/protocol/JsonPreKeyStore.java | 2 +- .../storage/protocol/JsonSessionStore.java | 2 +- .../protocol/JsonSignalProtocolStore.java | 8 +- .../protocol/JsonSignedPreKeyStore.java | 2 +- .../storage/protocol/RecipientStore.java | 2 +- .../storage/protocol/SessionInfo.java | 2 +- .../SignalServiceAddressResolver.java | 2 +- .../storage/stickers/Sticker.java | 2 +- .../storage/stickers/StickerStore.java | 2 +- .../threads/LegacyJsonThreadStore.java | 2 +- .../storage/threads/ThreadInfo.java | 2 +- 34 files changed, 148 insertions(+), 141 deletions(-) rename src/main/java/org/asamk/signal/{ => manager}/storage/SignalAccount.java (94%) rename src/main/java/org/asamk/signal/{ => manager}/storage/contacts/ContactInfo.java (95%) rename src/main/java/org/asamk/signal/{ => manager}/storage/contacts/JsonContactsStore.java (96%) rename src/main/java/org/asamk/signal/{ => manager}/storage/groups/GroupInfo.java (97%) rename src/main/java/org/asamk/signal/{ => manager}/storage/groups/GroupInfoV1.java (99%) rename src/main/java/org/asamk/signal/{ => manager}/storage/groups/GroupInfoV2.java (98%) rename src/main/java/org/asamk/signal/{ => manager}/storage/groups/JsonGroupStore.java (99%) rename src/main/java/org/asamk/signal/{ => manager}/storage/profiles/ProfileStore.java (99%) rename src/main/java/org/asamk/signal/{ => manager}/storage/profiles/SignalProfile.java (98%) rename src/main/java/org/asamk/signal/{ => manager}/storage/profiles/SignalProfileEntry.java (96%) create mode 100644 src/main/java/org/asamk/signal/manager/storage/protocol/IdentityInfo.java rename src/main/java/org/asamk/signal/{ => manager}/storage/protocol/JsonIdentityKeyStore.java (80%) rename src/main/java/org/asamk/signal/{ => manager}/storage/protocol/JsonPreKeyStore.java (98%) rename src/main/java/org/asamk/signal/{ => manager}/storage/protocol/JsonSessionStore.java (99%) rename src/main/java/org/asamk/signal/{ => manager}/storage/protocol/JsonSignalProtocolStore.java (95%) rename src/main/java/org/asamk/signal/{ => manager}/storage/protocol/JsonSignedPreKeyStore.java (98%) rename src/main/java/org/asamk/signal/{ => manager}/storage/protocol/RecipientStore.java (98%) rename src/main/java/org/asamk/signal/{ => manager}/storage/protocol/SessionInfo.java (89%) rename src/main/java/org/asamk/signal/{ => manager}/storage/protocol/SignalServiceAddressResolver.java (88%) rename src/main/java/org/asamk/signal/{ => manager}/storage/stickers/Sticker.java (93%) rename src/main/java/org/asamk/signal/{ => manager}/storage/stickers/StickerStore.java (98%) rename src/main/java/org/asamk/signal/{ => manager}/storage/threads/LegacyJsonThreadStore.java (97%) rename src/main/java/org/asamk/signal/{ => manager}/storage/threads/ThreadInfo.java (78%) diff --git a/src/main/java/org/asamk/signal/ReceiveMessageHandler.java b/src/main/java/org/asamk/signal/ReceiveMessageHandler.java index 8dc38e4f..db78f454 100644 --- a/src/main/java/org/asamk/signal/ReceiveMessageHandler.java +++ b/src/main/java/org/asamk/signal/ReceiveMessageHandler.java @@ -3,8 +3,8 @@ package org.asamk.signal; import org.asamk.signal.manager.Manager; import org.asamk.signal.manager.groups.GroupId; import org.asamk.signal.manager.groups.GroupUtils; -import org.asamk.signal.storage.contacts.ContactInfo; -import org.asamk.signal.storage.groups.GroupInfo; +import org.asamk.signal.manager.storage.contacts.ContactInfo; +import org.asamk.signal.manager.storage.groups.GroupInfo; import org.asamk.signal.util.DateUtils; import org.asamk.signal.util.Util; import org.whispersystems.signalservice.api.messages.SignalServiceAttachment; diff --git a/src/main/java/org/asamk/signal/commands/ListContactsCommand.java b/src/main/java/org/asamk/signal/commands/ListContactsCommand.java index 24d6898c..2c98ec6b 100644 --- a/src/main/java/org/asamk/signal/commands/ListContactsCommand.java +++ b/src/main/java/org/asamk/signal/commands/ListContactsCommand.java @@ -4,7 +4,7 @@ import net.sourceforge.argparse4j.inf.Namespace; import net.sourceforge.argparse4j.inf.Subparser; import org.asamk.signal.manager.Manager; -import org.asamk.signal.storage.contacts.ContactInfo; +import org.asamk.signal.manager.storage.contacts.ContactInfo; import java.util.List; diff --git a/src/main/java/org/asamk/signal/commands/ListGroupsCommand.java b/src/main/java/org/asamk/signal/commands/ListGroupsCommand.java index 66ff3a00..b4be4ad0 100644 --- a/src/main/java/org/asamk/signal/commands/ListGroupsCommand.java +++ b/src/main/java/org/asamk/signal/commands/ListGroupsCommand.java @@ -6,7 +6,7 @@ import net.sourceforge.argparse4j.inf.Subparser; import org.asamk.signal.manager.Manager; import org.asamk.signal.manager.groups.GroupInviteLinkUrl; -import org.asamk.signal.storage.groups.GroupInfo; +import org.asamk.signal.manager.storage.groups.GroupInfo; import org.whispersystems.signalservice.api.push.SignalServiceAddress; import java.util.List; diff --git a/src/main/java/org/asamk/signal/commands/ListIdentitiesCommand.java b/src/main/java/org/asamk/signal/commands/ListIdentitiesCommand.java index a75e4328..3f422cbd 100644 --- a/src/main/java/org/asamk/signal/commands/ListIdentitiesCommand.java +++ b/src/main/java/org/asamk/signal/commands/ListIdentitiesCommand.java @@ -4,7 +4,7 @@ import net.sourceforge.argparse4j.inf.Namespace; import net.sourceforge.argparse4j.inf.Subparser; import org.asamk.signal.manager.Manager; -import org.asamk.signal.storage.protocol.JsonIdentityKeyStore; +import org.asamk.signal.manager.storage.protocol.IdentityInfo; import org.asamk.signal.util.Hex; import org.asamk.signal.util.Util; import org.whispersystems.signalservice.api.util.InvalidNumberException; @@ -13,7 +13,7 @@ import java.util.List; public class ListIdentitiesCommand implements LocalCommand { - private static void printIdentityFingerprint(Manager m, JsonIdentityKeyStore.Identity theirId) { + private static void printIdentityFingerprint(Manager m, IdentityInfo theirId) { String digits = Util.formatSafetyNumber(m.computeSafetyNumber(theirId.getAddress(), theirId.getIdentityKey())); System.out.println(String.format("%s: %s Added: %s Fingerprint: %s Safety Number: %s", theirId.getAddress().getNumber().orNull(), @@ -35,14 +35,14 @@ public class ListIdentitiesCommand implements LocalCommand { return 1; } if (ns.get("number") == null) { - for (JsonIdentityKeyStore.Identity identity : m.getIdentities()) { + for (IdentityInfo identity : m.getIdentities()) { printIdentityFingerprint(m, identity); } } else { String number = ns.getString("number"); try { - List identities = m.getIdentities(number); - for (JsonIdentityKeyStore.Identity id : identities) { + List identities = m.getIdentities(number); + for (IdentityInfo id : identities) { printIdentityFingerprint(m, id); } } catch (InvalidNumberException e) { diff --git a/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java b/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java index df3f12f2..d19116a4 100644 --- a/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java +++ b/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java @@ -6,7 +6,7 @@ import org.asamk.signal.manager.Manager; import org.asamk.signal.manager.groups.GroupId; import org.asamk.signal.manager.groups.GroupNotFoundException; import org.asamk.signal.manager.groups.NotAGroupMemberException; -import org.asamk.signal.storage.groups.GroupInfo; +import org.asamk.signal.manager.storage.groups.GroupInfo; import org.asamk.signal.util.ErrorUtils; import org.freedesktop.dbus.exceptions.DBusExecutionException; import org.whispersystems.libsignal.util.Pair; diff --git a/src/main/java/org/asamk/signal/manager/Manager.java b/src/main/java/org/asamk/signal/manager/Manager.java index c958e0a4..e00f44ac 100644 --- a/src/main/java/org/asamk/signal/manager/Manager.java +++ b/src/main/java/org/asamk/signal/manager/Manager.java @@ -28,15 +28,15 @@ import org.asamk.signal.manager.groups.NotAGroupMemberException; import org.asamk.signal.manager.helper.GroupHelper; import org.asamk.signal.manager.helper.ProfileHelper; import org.asamk.signal.manager.helper.UnidentifiedAccessHelper; -import org.asamk.signal.storage.SignalAccount; -import org.asamk.signal.storage.contacts.ContactInfo; -import org.asamk.signal.storage.groups.GroupInfo; -import org.asamk.signal.storage.groups.GroupInfoV1; -import org.asamk.signal.storage.groups.GroupInfoV2; -import org.asamk.signal.storage.profiles.SignalProfile; -import org.asamk.signal.storage.profiles.SignalProfileEntry; -import org.asamk.signal.storage.protocol.JsonIdentityKeyStore; -import org.asamk.signal.storage.stickers.Sticker; +import org.asamk.signal.manager.storage.SignalAccount; +import org.asamk.signal.manager.storage.contacts.ContactInfo; +import org.asamk.signal.manager.storage.groups.GroupInfo; +import org.asamk.signal.manager.storage.groups.GroupInfoV1; +import org.asamk.signal.manager.storage.groups.GroupInfoV2; +import org.asamk.signal.manager.storage.profiles.SignalProfile; +import org.asamk.signal.manager.storage.profiles.SignalProfileEntry; +import org.asamk.signal.manager.storage.protocol.IdentityInfo; +import org.asamk.signal.manager.storage.stickers.Sticker; import org.asamk.signal.util.IOUtils; import org.asamk.signal.util.Util; import org.signal.libsignal.metadata.InvalidMetadataMessageException; @@ -2422,8 +2422,7 @@ public class Manager implements Closeable { DeviceContactsOutputStream out = new DeviceContactsOutputStream(fos); for (ContactInfo record : account.getContactStore().getContacts()) { VerifiedMessage verifiedMessage = null; - JsonIdentityKeyStore.Identity currentIdentity = account.getSignalProtocolStore() - .getIdentity(record.getAddress()); + IdentityInfo currentIdentity = account.getSignalProtocolStore().getIdentity(record.getAddress()); if (currentIdentity != null) { verifiedMessage = new VerifiedMessage(record.getAddress(), currentIdentity.getIdentityKey(), @@ -2517,11 +2516,11 @@ public class Manager implements Closeable { return account.getGroupStore().getGroup(groupId); } - public List getIdentities() { + public List getIdentities() { return account.getSignalProtocolStore().getIdentities(); } - public List getIdentities(String number) throws InvalidNumberException { + public List getIdentities(String number) throws InvalidNumberException { return account.getSignalProtocolStore().getIdentities(canonicalizeAndResolveSignalServiceAddress(number)); } @@ -2533,11 +2532,11 @@ public class Manager implements Closeable { */ public boolean trustIdentityVerified(String name, byte[] fingerprint) throws InvalidNumberException { SignalServiceAddress address = canonicalizeAndResolveSignalServiceAddress(name); - List ids = account.getSignalProtocolStore().getIdentities(address); + List ids = account.getSignalProtocolStore().getIdentities(address); if (ids == null) { return false; } - for (JsonIdentityKeyStore.Identity id : ids) { + for (IdentityInfo id : ids) { if (!Arrays.equals(id.getIdentityKey().serialize(), fingerprint)) { continue; } @@ -2563,11 +2562,11 @@ public class Manager implements Closeable { */ public boolean trustIdentityVerifiedSafetyNumber(String name, String safetyNumber) throws InvalidNumberException { SignalServiceAddress address = canonicalizeAndResolveSignalServiceAddress(name); - List ids = account.getSignalProtocolStore().getIdentities(address); + List ids = account.getSignalProtocolStore().getIdentities(address); if (ids == null) { return false; } - for (JsonIdentityKeyStore.Identity id : ids) { + for (IdentityInfo id : ids) { if (!safetyNumber.equals(computeSafetyNumber(address, id.getIdentityKey()))) { continue; } @@ -2592,11 +2591,11 @@ public class Manager implements Closeable { */ public boolean trustIdentityAllKeys(String name) { SignalServiceAddress address = resolveSignalServiceAddress(name); - List ids = account.getSignalProtocolStore().getIdentities(address); + List ids = account.getSignalProtocolStore().getIdentities(address); if (ids == null) { return false; } - for (JsonIdentityKeyStore.Identity id : ids) { + for (IdentityInfo id : ids) { if (id.getTrustLevel() == TrustLevel.UNTRUSTED) { account.getSignalProtocolStore() .setIdentityTrustLevel(address, id.getIdentityKey(), TrustLevel.TRUSTED_UNVERIFIED); diff --git a/src/main/java/org/asamk/signal/manager/ProvisioningManager.java b/src/main/java/org/asamk/signal/manager/ProvisioningManager.java index f81cfa49..95e92c7a 100644 --- a/src/main/java/org/asamk/signal/manager/ProvisioningManager.java +++ b/src/main/java/org/asamk/signal/manager/ProvisioningManager.java @@ -16,7 +16,7 @@ */ package org.asamk.signal.manager; -import org.asamk.signal.storage.SignalAccount; +import org.asamk.signal.manager.storage.SignalAccount; import org.signal.zkgroup.InvalidInputException; import org.signal.zkgroup.profiles.ProfileKey; import org.whispersystems.libsignal.IdentityKeyPair; diff --git a/src/main/java/org/asamk/signal/manager/groups/GroupUtils.java b/src/main/java/org/asamk/signal/manager/groups/GroupUtils.java index c5f727e1..f56639e3 100644 --- a/src/main/java/org/asamk/signal/manager/groups/GroupUtils.java +++ b/src/main/java/org/asamk/signal/manager/groups/GroupUtils.java @@ -1,8 +1,8 @@ package org.asamk.signal.manager.groups; -import org.asamk.signal.storage.groups.GroupInfo; -import org.asamk.signal.storage.groups.GroupInfoV1; -import org.asamk.signal.storage.groups.GroupInfoV2; +import org.asamk.signal.manager.storage.groups.GroupInfo; +import org.asamk.signal.manager.storage.groups.GroupInfoV1; +import org.asamk.signal.manager.storage.groups.GroupInfoV2; import org.signal.zkgroup.InvalidInputException; import org.signal.zkgroup.groups.GroupMasterKey; import org.signal.zkgroup.groups.GroupSecretParams; diff --git a/src/main/java/org/asamk/signal/manager/helper/GroupHelper.java b/src/main/java/org/asamk/signal/manager/helper/GroupHelper.java index 6a52e00e..394eba57 100644 --- a/src/main/java/org/asamk/signal/manager/helper/GroupHelper.java +++ b/src/main/java/org/asamk/signal/manager/helper/GroupHelper.java @@ -5,8 +5,8 @@ import com.google.protobuf.InvalidProtocolBufferException; import org.asamk.signal.manager.groups.GroupIdV2; import org.asamk.signal.manager.groups.GroupLinkPassword; import org.asamk.signal.manager.groups.GroupUtils; -import org.asamk.signal.storage.groups.GroupInfoV2; -import org.asamk.signal.storage.profiles.SignalProfile; +import org.asamk.signal.manager.storage.groups.GroupInfoV2; +import org.asamk.signal.manager.storage.profiles.SignalProfile; import org.asamk.signal.util.IOUtils; import org.signal.storageservice.protos.groups.AccessControl; import org.signal.storageservice.protos.groups.GroupChange; diff --git a/src/main/java/org/asamk/signal/manager/helper/ProfileProvider.java b/src/main/java/org/asamk/signal/manager/helper/ProfileProvider.java index 1ff4cb05..c16b5e0d 100644 --- a/src/main/java/org/asamk/signal/manager/helper/ProfileProvider.java +++ b/src/main/java/org/asamk/signal/manager/helper/ProfileProvider.java @@ -1,6 +1,6 @@ package org.asamk.signal.manager.helper; -import org.asamk.signal.storage.profiles.SignalProfile; +import org.asamk.signal.manager.storage.profiles.SignalProfile; import org.whispersystems.signalservice.api.push.SignalServiceAddress; public interface ProfileProvider { diff --git a/src/main/java/org/asamk/signal/manager/helper/UnidentifiedAccessHelper.java b/src/main/java/org/asamk/signal/manager/helper/UnidentifiedAccessHelper.java index 97331cf3..a994c40a 100644 --- a/src/main/java/org/asamk/signal/manager/helper/UnidentifiedAccessHelper.java +++ b/src/main/java/org/asamk/signal/manager/helper/UnidentifiedAccessHelper.java @@ -1,6 +1,6 @@ package org.asamk.signal.manager.helper; -import org.asamk.signal.storage.profiles.SignalProfile; +import org.asamk.signal.manager.storage.profiles.SignalProfile; import org.signal.libsignal.metadata.certificate.InvalidCertificateException; import org.signal.zkgroup.profiles.ProfileKey; import org.whispersystems.libsignal.util.guava.Optional; diff --git a/src/main/java/org/asamk/signal/storage/SignalAccount.java b/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java similarity index 94% rename from src/main/java/org/asamk/signal/storage/SignalAccount.java rename to src/main/java/org/asamk/signal/manager/storage/SignalAccount.java index 393d0449..c3573209 100644 --- a/src/main/java/org/asamk/signal/storage/SignalAccount.java +++ b/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage; +package org.asamk.signal.manager.storage; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; @@ -11,20 +11,20 @@ import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.node.ObjectNode; import org.asamk.signal.manager.groups.GroupId; -import org.asamk.signal.storage.contacts.ContactInfo; -import org.asamk.signal.storage.contacts.JsonContactsStore; -import org.asamk.signal.storage.groups.GroupInfo; -import org.asamk.signal.storage.groups.GroupInfoV1; -import org.asamk.signal.storage.groups.JsonGroupStore; -import org.asamk.signal.storage.profiles.ProfileStore; -import org.asamk.signal.storage.protocol.JsonIdentityKeyStore; -import org.asamk.signal.storage.protocol.JsonSignalProtocolStore; -import org.asamk.signal.storage.protocol.RecipientStore; -import org.asamk.signal.storage.protocol.SessionInfo; -import org.asamk.signal.storage.protocol.SignalServiceAddressResolver; -import org.asamk.signal.storage.stickers.StickerStore; -import org.asamk.signal.storage.threads.LegacyJsonThreadStore; -import org.asamk.signal.storage.threads.ThreadInfo; +import org.asamk.signal.manager.storage.contacts.ContactInfo; +import org.asamk.signal.manager.storage.contacts.JsonContactsStore; +import org.asamk.signal.manager.storage.groups.GroupInfo; +import org.asamk.signal.manager.storage.groups.GroupInfoV1; +import org.asamk.signal.manager.storage.groups.JsonGroupStore; +import org.asamk.signal.manager.storage.profiles.ProfileStore; +import org.asamk.signal.manager.storage.protocol.IdentityInfo; +import org.asamk.signal.manager.storage.protocol.JsonSignalProtocolStore; +import org.asamk.signal.manager.storage.protocol.RecipientStore; +import org.asamk.signal.manager.storage.protocol.SessionInfo; +import org.asamk.signal.manager.storage.protocol.SignalServiceAddressResolver; +import org.asamk.signal.manager.storage.stickers.StickerStore; +import org.asamk.signal.manager.storage.threads.LegacyJsonThreadStore; +import org.asamk.signal.manager.storage.threads.ThreadInfo; import org.asamk.signal.util.IOUtils; import org.asamk.signal.util.Util; import org.signal.zkgroup.InvalidInputException; @@ -286,7 +286,7 @@ public class SignalAccount implements Closeable { session.address = recipientStore.resolveServiceAddress(session.address); } - for (JsonIdentityKeyStore.Identity identity : signalProtocolStore.getIdentities()) { + for (IdentityInfo identity : signalProtocolStore.getIdentities()) { identity.setAddress(recipientStore.resolveServiceAddress(identity.getAddress())); } } diff --git a/src/main/java/org/asamk/signal/storage/contacts/ContactInfo.java b/src/main/java/org/asamk/signal/manager/storage/contacts/ContactInfo.java similarity index 95% rename from src/main/java/org/asamk/signal/storage/contacts/ContactInfo.java rename to src/main/java/org/asamk/signal/manager/storage/contacts/ContactInfo.java index 3b155210..4dd132f7 100644 --- a/src/main/java/org/asamk/signal/storage/contacts/ContactInfo.java +++ b/src/main/java/org/asamk/signal/manager/storage/contacts/ContactInfo.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.contacts; +package org.asamk.signal.manager.storage.contacts; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/org/asamk/signal/storage/contacts/JsonContactsStore.java b/src/main/java/org/asamk/signal/manager/storage/contacts/JsonContactsStore.java similarity index 96% rename from src/main/java/org/asamk/signal/storage/contacts/JsonContactsStore.java rename to src/main/java/org/asamk/signal/manager/storage/contacts/JsonContactsStore.java index bb81b0c9..d2859f3f 100644 --- a/src/main/java/org/asamk/signal/storage/contacts/JsonContactsStore.java +++ b/src/main/java/org/asamk/signal/manager/storage/contacts/JsonContactsStore.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.contacts; +package org.asamk.signal.manager.storage.contacts; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/org/asamk/signal/storage/groups/GroupInfo.java b/src/main/java/org/asamk/signal/manager/storage/groups/GroupInfo.java similarity index 97% rename from src/main/java/org/asamk/signal/storage/groups/GroupInfo.java rename to src/main/java/org/asamk/signal/manager/storage/groups/GroupInfo.java index fe725141..a644b620 100644 --- a/src/main/java/org/asamk/signal/storage/groups/GroupInfo.java +++ b/src/main/java/org/asamk/signal/manager/storage/groups/GroupInfo.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.groups; +package org.asamk.signal.manager.storage.groups; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/src/main/java/org/asamk/signal/storage/groups/GroupInfoV1.java b/src/main/java/org/asamk/signal/manager/storage/groups/GroupInfoV1.java similarity index 99% rename from src/main/java/org/asamk/signal/storage/groups/GroupInfoV1.java rename to src/main/java/org/asamk/signal/manager/storage/groups/GroupInfoV1.java index e48fe297..39591647 100644 --- a/src/main/java/org/asamk/signal/storage/groups/GroupInfoV1.java +++ b/src/main/java/org/asamk/signal/manager/storage/groups/GroupInfoV1.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.groups; +package org.asamk.signal.manager.storage.groups; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/org/asamk/signal/storage/groups/GroupInfoV2.java b/src/main/java/org/asamk/signal/manager/storage/groups/GroupInfoV2.java similarity index 98% rename from src/main/java/org/asamk/signal/storage/groups/GroupInfoV2.java rename to src/main/java/org/asamk/signal/manager/storage/groups/GroupInfoV2.java index 0139f879..17c23925 100644 --- a/src/main/java/org/asamk/signal/storage/groups/GroupInfoV2.java +++ b/src/main/java/org/asamk/signal/manager/storage/groups/GroupInfoV2.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.groups; +package org.asamk.signal.manager.storage.groups; import org.asamk.signal.manager.groups.GroupIdV2; import org.asamk.signal.manager.groups.GroupInviteLinkUrl; diff --git a/src/main/java/org/asamk/signal/storage/groups/JsonGroupStore.java b/src/main/java/org/asamk/signal/manager/storage/groups/JsonGroupStore.java similarity index 99% rename from src/main/java/org/asamk/signal/storage/groups/JsonGroupStore.java rename to src/main/java/org/asamk/signal/manager/storage/groups/JsonGroupStore.java index 1aae49f7..2b4dbcf5 100644 --- a/src/main/java/org/asamk/signal/storage/groups/JsonGroupStore.java +++ b/src/main/java/org/asamk/signal/manager/storage/groups/JsonGroupStore.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.groups; +package org.asamk.signal.manager.storage.groups; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonGenerator; diff --git a/src/main/java/org/asamk/signal/storage/profiles/ProfileStore.java b/src/main/java/org/asamk/signal/manager/storage/profiles/ProfileStore.java similarity index 99% rename from src/main/java/org/asamk/signal/storage/profiles/ProfileStore.java rename to src/main/java/org/asamk/signal/manager/storage/profiles/ProfileStore.java index 3b3d3f9f..bff2f17e 100644 --- a/src/main/java/org/asamk/signal/storage/profiles/ProfileStore.java +++ b/src/main/java/org/asamk/signal/manager/storage/profiles/ProfileStore.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.profiles; +package org.asamk.signal.manager.storage.profiles; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonGenerator; diff --git a/src/main/java/org/asamk/signal/storage/profiles/SignalProfile.java b/src/main/java/org/asamk/signal/manager/storage/profiles/SignalProfile.java similarity index 98% rename from src/main/java/org/asamk/signal/storage/profiles/SignalProfile.java rename to src/main/java/org/asamk/signal/manager/storage/profiles/SignalProfile.java index 023458ed..48a38578 100644 --- a/src/main/java/org/asamk/signal/storage/profiles/SignalProfile.java +++ b/src/main/java/org/asamk/signal/manager/storage/profiles/SignalProfile.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.profiles; +package org.asamk.signal.manager.storage.profiles; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/org/asamk/signal/storage/profiles/SignalProfileEntry.java b/src/main/java/org/asamk/signal/manager/storage/profiles/SignalProfileEntry.java similarity index 96% rename from src/main/java/org/asamk/signal/storage/profiles/SignalProfileEntry.java rename to src/main/java/org/asamk/signal/manager/storage/profiles/SignalProfileEntry.java index e6acf30d..a81fbcb5 100644 --- a/src/main/java/org/asamk/signal/storage/profiles/SignalProfileEntry.java +++ b/src/main/java/org/asamk/signal/manager/storage/profiles/SignalProfileEntry.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.profiles; +package org.asamk.signal.manager.storage.profiles; import org.signal.zkgroup.profiles.ProfileKey; import org.signal.zkgroup.profiles.ProfileKeyCredential; diff --git a/src/main/java/org/asamk/signal/manager/storage/protocol/IdentityInfo.java b/src/main/java/org/asamk/signal/manager/storage/protocol/IdentityInfo.java new file mode 100644 index 00000000..d4af11f2 --- /dev/null +++ b/src/main/java/org/asamk/signal/manager/storage/protocol/IdentityInfo.java @@ -0,0 +1,57 @@ +package org.asamk.signal.manager.storage.protocol; + +import org.asamk.signal.manager.TrustLevel; +import org.whispersystems.libsignal.IdentityKey; +import org.whispersystems.signalservice.api.push.SignalServiceAddress; + +import java.util.Date; + +public class IdentityInfo { + + SignalServiceAddress address; + IdentityKey identityKey; + TrustLevel trustLevel; + Date added; + + public IdentityInfo(SignalServiceAddress address, IdentityKey identityKey, TrustLevel trustLevel) { + this.address = address; + this.identityKey = identityKey; + this.trustLevel = trustLevel; + this.added = new Date(); + } + + IdentityInfo(SignalServiceAddress address, IdentityKey identityKey, TrustLevel trustLevel, Date added) { + this.address = address; + this.identityKey = identityKey; + this.trustLevel = trustLevel; + this.added = added; + } + + public SignalServiceAddress getAddress() { + return address; + } + + public void setAddress(final SignalServiceAddress address) { + this.address = address; + } + + boolean isTrusted() { + return trustLevel == TrustLevel.TRUSTED_UNVERIFIED || trustLevel == TrustLevel.TRUSTED_VERIFIED; + } + + public IdentityKey getIdentityKey() { + return this.identityKey; + } + + public TrustLevel getTrustLevel() { + return this.trustLevel; + } + + public Date getDateAdded() { + return this.added; + } + + public byte[] getFingerprint() { + return identityKey.getPublicKey().serialize(); + } +} diff --git a/src/main/java/org/asamk/signal/storage/protocol/JsonIdentityKeyStore.java b/src/main/java/org/asamk/signal/manager/storage/protocol/JsonIdentityKeyStore.java similarity index 80% rename from src/main/java/org/asamk/signal/storage/protocol/JsonIdentityKeyStore.java rename to src/main/java/org/asamk/signal/manager/storage/protocol/JsonIdentityKeyStore.java index 29160cf1..517b384e 100644 --- a/src/main/java/org/asamk/signal/storage/protocol/JsonIdentityKeyStore.java +++ b/src/main/java/org/asamk/signal/manager/storage/protocol/JsonIdentityKeyStore.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.protocol; +package org.asamk.signal.manager.storage.protocol; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; @@ -31,7 +31,7 @@ public class JsonIdentityKeyStore implements IdentityKeyStore { final static Logger logger = LoggerFactory.getLogger(JsonIdentityKeyStore.class); - private final List identities = new ArrayList<>(); + private final List identities = new ArrayList<>(); private final IdentityKeyPair identityKeyPair; private final int localRegistrationId; @@ -85,7 +85,7 @@ public class JsonIdentityKeyStore implements IdentityKeyStore { public boolean saveIdentity( SignalServiceAddress serviceAddress, IdentityKey identityKey, TrustLevel trustLevel, Date added ) { - for (Identity id : identities) { + for (IdentityInfo id : identities) { if (!id.address.matches(serviceAddress) || !id.identityKey.equals(identityKey)) { continue; } @@ -97,7 +97,7 @@ public class JsonIdentityKeyStore implements IdentityKeyStore { return true; } - identities.add(new Identity(serviceAddress, identityKey, trustLevel, added != null ? added : new Date())); + identities.add(new IdentityInfo(serviceAddress, identityKey, trustLevel, added != null ? added : new Date())); return false; } @@ -111,7 +111,7 @@ public class JsonIdentityKeyStore implements IdentityKeyStore { public void setIdentityTrustLevel( SignalServiceAddress serviceAddress, IdentityKey identityKey, TrustLevel trustLevel ) { - for (Identity id : identities) { + for (IdentityInfo id : identities) { if (!id.address.matches(serviceAddress) || !id.identityKey.equals(identityKey)) { continue; } @@ -123,7 +123,7 @@ public class JsonIdentityKeyStore implements IdentityKeyStore { return; } - identities.add(new Identity(serviceAddress, identityKey, trustLevel, new Date())); + identities.add(new IdentityInfo(serviceAddress, identityKey, trustLevel, new Date())); } @Override @@ -132,7 +132,7 @@ public class JsonIdentityKeyStore implements IdentityKeyStore { SignalServiceAddress serviceAddress = resolveSignalServiceAddress(address.getName()); boolean trustOnFirstUse = true; - for (Identity id : identities) { + for (IdentityInfo id : identities) { if (!id.address.matches(serviceAddress)) { continue; } @@ -150,14 +150,14 @@ public class JsonIdentityKeyStore implements IdentityKeyStore { @Override public IdentityKey getIdentity(SignalProtocolAddress address) { SignalServiceAddress serviceAddress = resolveSignalServiceAddress(address.getName()); - Identity identity = getIdentity(serviceAddress); + IdentityInfo identity = getIdentity(serviceAddress); return identity == null ? null : identity.getIdentityKey(); } - public Identity getIdentity(SignalServiceAddress serviceAddress) { + public IdentityInfo getIdentity(SignalServiceAddress serviceAddress) { long maxDate = 0; - Identity maxIdentity = null; - for (Identity id : this.identities) { + IdentityInfo maxIdentity = null; + for (IdentityInfo id : this.identities) { if (!id.address.matches(serviceAddress)) { continue; } @@ -171,14 +171,14 @@ public class JsonIdentityKeyStore implements IdentityKeyStore { return maxIdentity; } - public List getIdentities() { + public List getIdentities() { // TODO deep copy return identities; } - public List getIdentities(SignalServiceAddress serviceAddress) { - List identities = new ArrayList<>(); - for (Identity identity : this.identities) { + public List getIdentities(SignalServiceAddress serviceAddress) { + List identities = new ArrayList<>(); + for (IdentityInfo identity : this.identities) { if (identity.address.matches(serviceAddress)) { identities.add(identity); } @@ -246,7 +246,7 @@ public class JsonIdentityKeyStore implements IdentityKeyStore { json.writeStringField("identityKey", Base64.encodeBytes(jsonIdentityKeyStore.getIdentityKeyPair().serialize())); json.writeArrayFieldStart("trustedKeys"); - for (Identity trustedKey : jsonIdentityKeyStore.identities) { + for (IdentityInfo trustedKey : jsonIdentityKeyStore.identities) { json.writeStartObject(); if (trustedKey.getAddress().getNumber().isPresent()) { json.writeStringField("name", trustedKey.getAddress().getNumber().get()); @@ -264,53 +264,4 @@ public class JsonIdentityKeyStore implements IdentityKeyStore { } } - public static class Identity { - - SignalServiceAddress address; - IdentityKey identityKey; - TrustLevel trustLevel; - Date added; - - public Identity(SignalServiceAddress address, IdentityKey identityKey, TrustLevel trustLevel) { - this.address = address; - this.identityKey = identityKey; - this.trustLevel = trustLevel; - this.added = new Date(); - } - - Identity(SignalServiceAddress address, IdentityKey identityKey, TrustLevel trustLevel, Date added) { - this.address = address; - this.identityKey = identityKey; - this.trustLevel = trustLevel; - this.added = added; - } - - public SignalServiceAddress getAddress() { - return address; - } - - public void setAddress(final SignalServiceAddress address) { - this.address = address; - } - - boolean isTrusted() { - return trustLevel == TrustLevel.TRUSTED_UNVERIFIED || trustLevel == TrustLevel.TRUSTED_VERIFIED; - } - - public IdentityKey getIdentityKey() { - return this.identityKey; - } - - public TrustLevel getTrustLevel() { - return this.trustLevel; - } - - public Date getDateAdded() { - return this.added; - } - - public byte[] getFingerprint() { - return identityKey.getPublicKey().serialize(); - } - } } diff --git a/src/main/java/org/asamk/signal/storage/protocol/JsonPreKeyStore.java b/src/main/java/org/asamk/signal/manager/storage/protocol/JsonPreKeyStore.java similarity index 98% rename from src/main/java/org/asamk/signal/storage/protocol/JsonPreKeyStore.java rename to src/main/java/org/asamk/signal/manager/storage/protocol/JsonPreKeyStore.java index 523809c1..4d884c3e 100644 --- a/src/main/java/org/asamk/signal/storage/protocol/JsonPreKeyStore.java +++ b/src/main/java/org/asamk/signal/manager/storage/protocol/JsonPreKeyStore.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.protocol; +package org.asamk.signal.manager.storage.protocol; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; diff --git a/src/main/java/org/asamk/signal/storage/protocol/JsonSessionStore.java b/src/main/java/org/asamk/signal/manager/storage/protocol/JsonSessionStore.java similarity index 99% rename from src/main/java/org/asamk/signal/storage/protocol/JsonSessionStore.java rename to src/main/java/org/asamk/signal/manager/storage/protocol/JsonSessionStore.java index 24e4594e..f55aff14 100644 --- a/src/main/java/org/asamk/signal/storage/protocol/JsonSessionStore.java +++ b/src/main/java/org/asamk/signal/manager/storage/protocol/JsonSessionStore.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.protocol; +package org.asamk.signal.manager.storage.protocol; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; diff --git a/src/main/java/org/asamk/signal/storage/protocol/JsonSignalProtocolStore.java b/src/main/java/org/asamk/signal/manager/storage/protocol/JsonSignalProtocolStore.java similarity index 95% rename from src/main/java/org/asamk/signal/storage/protocol/JsonSignalProtocolStore.java rename to src/main/java/org/asamk/signal/manager/storage/protocol/JsonSignalProtocolStore.java index 5939749d..41a63013 100644 --- a/src/main/java/org/asamk/signal/storage/protocol/JsonSignalProtocolStore.java +++ b/src/main/java/org/asamk/signal/manager/storage/protocol/JsonSignalProtocolStore.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.protocol; +package org.asamk.signal.manager.storage.protocol; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -91,11 +91,11 @@ public class JsonSignalProtocolStore implements SignalProtocolStore { identityKeyStore.setIdentityTrustLevel(serviceAddress, identityKey, trustLevel); } - public List getIdentities() { + public List getIdentities() { return identityKeyStore.getIdentities(); } - public List getIdentities(SignalServiceAddress serviceAddress) { + public List getIdentities(SignalServiceAddress serviceAddress) { return identityKeyStore.getIdentities(serviceAddress); } @@ -109,7 +109,7 @@ public class JsonSignalProtocolStore implements SignalProtocolStore { return identityKeyStore.getIdentity(address); } - public JsonIdentityKeyStore.Identity getIdentity(SignalServiceAddress serviceAddress) { + public IdentityInfo getIdentity(SignalServiceAddress serviceAddress) { return identityKeyStore.getIdentity(serviceAddress); } diff --git a/src/main/java/org/asamk/signal/storage/protocol/JsonSignedPreKeyStore.java b/src/main/java/org/asamk/signal/manager/storage/protocol/JsonSignedPreKeyStore.java similarity index 98% rename from src/main/java/org/asamk/signal/storage/protocol/JsonSignedPreKeyStore.java rename to src/main/java/org/asamk/signal/manager/storage/protocol/JsonSignedPreKeyStore.java index 7accf5a1..5eae4500 100644 --- a/src/main/java/org/asamk/signal/storage/protocol/JsonSignedPreKeyStore.java +++ b/src/main/java/org/asamk/signal/manager/storage/protocol/JsonSignedPreKeyStore.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.protocol; +package org.asamk.signal.manager.storage.protocol; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; diff --git a/src/main/java/org/asamk/signal/storage/protocol/RecipientStore.java b/src/main/java/org/asamk/signal/manager/storage/protocol/RecipientStore.java similarity index 98% rename from src/main/java/org/asamk/signal/storage/protocol/RecipientStore.java rename to src/main/java/org/asamk/signal/manager/storage/protocol/RecipientStore.java index 701eca34..60634ae5 100644 --- a/src/main/java/org/asamk/signal/storage/protocol/RecipientStore.java +++ b/src/main/java/org/asamk/signal/manager/storage/protocol/RecipientStore.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.protocol; +package org.asamk.signal.manager.storage.protocol; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonGenerator; diff --git a/src/main/java/org/asamk/signal/storage/protocol/SessionInfo.java b/src/main/java/org/asamk/signal/manager/storage/protocol/SessionInfo.java similarity index 89% rename from src/main/java/org/asamk/signal/storage/protocol/SessionInfo.java rename to src/main/java/org/asamk/signal/manager/storage/protocol/SessionInfo.java index 00221233..802b896b 100644 --- a/src/main/java/org/asamk/signal/storage/protocol/SessionInfo.java +++ b/src/main/java/org/asamk/signal/manager/storage/protocol/SessionInfo.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.protocol; +package org.asamk.signal.manager.storage.protocol; import org.whispersystems.signalservice.api.push.SignalServiceAddress; diff --git a/src/main/java/org/asamk/signal/storage/protocol/SignalServiceAddressResolver.java b/src/main/java/org/asamk/signal/manager/storage/protocol/SignalServiceAddressResolver.java similarity index 88% rename from src/main/java/org/asamk/signal/storage/protocol/SignalServiceAddressResolver.java rename to src/main/java/org/asamk/signal/manager/storage/protocol/SignalServiceAddressResolver.java index b1c5fb38..86eea05e 100644 --- a/src/main/java/org/asamk/signal/storage/protocol/SignalServiceAddressResolver.java +++ b/src/main/java/org/asamk/signal/manager/storage/protocol/SignalServiceAddressResolver.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.protocol; +package org.asamk.signal.manager.storage.protocol; import org.whispersystems.signalservice.api.push.SignalServiceAddress; diff --git a/src/main/java/org/asamk/signal/storage/stickers/Sticker.java b/src/main/java/org/asamk/signal/manager/storage/stickers/Sticker.java similarity index 93% rename from src/main/java/org/asamk/signal/storage/stickers/Sticker.java rename to src/main/java/org/asamk/signal/manager/storage/stickers/Sticker.java index 386924c4..54e95d0a 100644 --- a/src/main/java/org/asamk/signal/storage/stickers/Sticker.java +++ b/src/main/java/org/asamk/signal/manager/storage/stickers/Sticker.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.stickers; +package org.asamk.signal.manager.storage.stickers; public class Sticker { diff --git a/src/main/java/org/asamk/signal/storage/stickers/StickerStore.java b/src/main/java/org/asamk/signal/manager/storage/stickers/StickerStore.java similarity index 98% rename from src/main/java/org/asamk/signal/storage/stickers/StickerStore.java rename to src/main/java/org/asamk/signal/manager/storage/stickers/StickerStore.java index e5d817d2..10cd2e99 100644 --- a/src/main/java/org/asamk/signal/storage/stickers/StickerStore.java +++ b/src/main/java/org/asamk/signal/manager/storage/stickers/StickerStore.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.stickers; +package org.asamk.signal.manager.storage.stickers; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; diff --git a/src/main/java/org/asamk/signal/storage/threads/LegacyJsonThreadStore.java b/src/main/java/org/asamk/signal/manager/storage/threads/LegacyJsonThreadStore.java similarity index 97% rename from src/main/java/org/asamk/signal/storage/threads/LegacyJsonThreadStore.java rename to src/main/java/org/asamk/signal/manager/storage/threads/LegacyJsonThreadStore.java index 24463933..f37360a2 100644 --- a/src/main/java/org/asamk/signal/storage/threads/LegacyJsonThreadStore.java +++ b/src/main/java/org/asamk/signal/manager/storage/threads/LegacyJsonThreadStore.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.threads; +package org.asamk.signal.manager.storage.threads; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonGenerator; diff --git a/src/main/java/org/asamk/signal/storage/threads/ThreadInfo.java b/src/main/java/org/asamk/signal/manager/storage/threads/ThreadInfo.java similarity index 78% rename from src/main/java/org/asamk/signal/storage/threads/ThreadInfo.java rename to src/main/java/org/asamk/signal/manager/storage/threads/ThreadInfo.java index 67e6b474..b81a0051 100644 --- a/src/main/java/org/asamk/signal/storage/threads/ThreadInfo.java +++ b/src/main/java/org/asamk/signal/manager/storage/threads/ThreadInfo.java @@ -1,4 +1,4 @@ -package org.asamk.signal.storage.threads; +package org.asamk.signal.manager.storage.threads; import com.fasterxml.jackson.annotation.JsonProperty; -- 2.50.1