X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/c72aeed8bba4d5ca873b36b4edb2b8eda9c24ec7..e3752e733adaad6f04c7d525e1b465a4b46474c7:/lib/src/main/java/org/asamk/signal/manager/HandleAction.java diff --git a/lib/src/main/java/org/asamk/signal/manager/HandleAction.java b/lib/src/main/java/org/asamk/signal/manager/HandleAction.java index 8338e4e6..2396df06 100644 --- a/lib/src/main/java/org/asamk/signal/manager/HandleAction.java +++ b/lib/src/main/java/org/asamk/signal/manager/HandleAction.java @@ -1,8 +1,10 @@ package org.asamk.signal.manager; import org.asamk.signal.manager.groups.GroupIdV1; +import org.asamk.signal.manager.storage.recipients.RecipientId; import org.whispersystems.signalservice.api.push.SignalServiceAddress; +import java.util.List; import java.util.Objects; interface HandleAction { @@ -22,14 +24,14 @@ class SendReceiptAction implements HandleAction { @Override public void execute(Manager m) throws Throwable { - m.sendReceipt(address, timestamp); + m.sendDeliveryReceipt(address, List.of(timestamp)); } @Override public boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - final SendReceiptAction that = (SendReceiptAction) o; + final var that = (SendReceiptAction) o; return timestamp == that.timestamp && address.equals(that.address); } @@ -110,7 +112,7 @@ class SendGroupInfoRequestAction implements HandleAction { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - final SendGroupInfoRequestAction that = (SendGroupInfoRequestAction) o; + final var that = (SendGroupInfoRequestAction) o; if (!address.equals(that.address)) return false; return groupId.equals(that.groupId); @@ -118,7 +120,7 @@ class SendGroupInfoRequestAction implements HandleAction { @Override public int hashCode() { - int result = address.hashCode(); + var result = address.hashCode(); result = 31 * result + groupId.hashCode(); return result; } @@ -144,7 +146,7 @@ class SendGroupInfoAction implements HandleAction { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - final SendGroupInfoAction that = (SendGroupInfoAction) o; + final var that = (SendGroupInfoAction) o; if (!address.equals(that.address)) return false; return groupId.equals(that.groupId); @@ -152,8 +154,66 @@ class SendGroupInfoAction implements HandleAction { @Override public int hashCode() { - int result = address.hashCode(); + var result = address.hashCode(); result = 31 * result + groupId.hashCode(); return result; } } + +class RetrieveProfileAction implements HandleAction { + + private final RecipientId recipientId; + + public RetrieveProfileAction(final RecipientId recipientId) { + this.recipientId = recipientId; + } + + @Override + public void execute(Manager m) throws Throwable { + m.getRecipientProfile(recipientId, true); + } + + @Override + public boolean equals(final Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + final RetrieveProfileAction that = (RetrieveProfileAction) o; + + return recipientId.equals(that.recipientId); + } + + @Override + public int hashCode() { + return recipientId.hashCode(); + } +} + +class RenewSessionAction implements HandleAction { + + private final RecipientId recipientId; + + public RenewSessionAction(final RecipientId recipientId) { + this.recipientId = recipientId; + } + + @Override + public void execute(Manager m) throws Throwable { + m.renewSession(recipientId); + } + + @Override + public boolean equals(final Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + final RenewSessionAction that = (RenewSessionAction) o; + + return recipientId.equals(that.recipientId); + } + + @Override + public int hashCode() { + return recipientId.hashCode(); + } +}