]> nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/actions/ResendMessageAction.java
Implement editing of previous messages
[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, final long timestamp, final MessageSendLogEntry messageSendLogEntry
17 ) {
18 this.recipientId = recipientId;
19 this.timestamp = timestamp;
20 this.messageSendLogEntry = messageSendLogEntry;
21 }
22
23 @Override
24 public void execute(Context context) throws Throwable {
25 context.getSendHelper().resendMessage(recipientId, timestamp, messageSendLogEntry);
26 }
27
28 @Override
29 public boolean equals(final Object o) {
30 if (this == o) return true;
31 if (o == null || getClass() != o.getClass()) return false;
32 final ResendMessageAction that = (ResendMessageAction) o;
33 return timestamp == that.timestamp
34 && recipientId.equals(that.recipientId)
35 && messageSendLogEntry.equals(that.messageSendLogEntry);
36 }
37
38 @Override
39 public int hashCode() {
40 return Objects.hash(recipientId, timestamp, messageSendLogEntry);
41 }
42 }