]> nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/actions/ResendMessageAction.java
Update libsignal-service
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / actions / ResendMessageAction.java
1 package org.asamk.signal.manager.actions;
2
3 import org.asamk.signal.manager.helper.Context;
4 import org.asamk.signal.manager.storage.recipients.RecipientId;
5 import org.asamk.signal.manager.storage.sendLog.MessageSendLogEntry;
6
7 import java.util.Objects;
8
9 public class ResendMessageAction implements HandleAction {
10
11 private final RecipientId recipientId;
12 private final long timestamp;
13 private final MessageSendLogEntry messageSendLogEntry;
14
15 public ResendMessageAction(
16 final RecipientId recipientId,
17 final long timestamp,
18 final MessageSendLogEntry messageSendLogEntry
19 ) {
20 this.recipientId = recipientId;
21 this.timestamp = timestamp;
22 this.messageSendLogEntry = messageSendLogEntry;
23 }
24
25 @Override
26 public void execute(Context context) throws Throwable {
27 context.getSendHelper().resendMessage(recipientId, timestamp, messageSendLogEntry);
28 }
29
30 @Override
31 public boolean equals(final Object o) {
32 if (this == o) return true;
33 if (o == null || getClass() != o.getClass()) return false;
34 final ResendMessageAction that = (ResendMessageAction) o;
35 return timestamp == that.timestamp
36 && recipientId.equals(that.recipientId)
37 && messageSendLogEntry.equals(that.messageSendLogEntry);
38 }
39
40 @Override
41 public int hashCode() {
42 return Objects.hash(recipientId, timestamp, messageSendLogEntry);
43 }
44 }