]> nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/actions/RenewSessionAction.java
Fix NPR when loading an inactive group
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / actions / RenewSessionAction.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.whispersystems.signalservice.api.push.ServiceId;
6
7 public class RenewSessionAction implements HandleAction {
8
9 private final RecipientId recipientId;
10 private final ServiceId serviceId;
11 private final ServiceId accountId;
12
13 public RenewSessionAction(final RecipientId recipientId, final ServiceId serviceId, final ServiceId accountId) {
14 this.recipientId = recipientId;
15 this.serviceId = serviceId;
16 this.accountId = accountId;
17 }
18
19 @Override
20 public void execute(Context context) throws Throwable {
21 context.getAccount().getAccountData(accountId).getSessionStore().archiveSessions(serviceId);
22 context.getSendHelper().sendNullMessage(recipientId);
23 }
24
25 @Override
26 public boolean equals(final Object o) {
27 if (this == o) return true;
28 if (o == null || getClass() != o.getClass()) return false;
29
30 final RenewSessionAction that = (RenewSessionAction) o;
31
32 return recipientId.equals(that.recipientId);
33 }
34
35 @Override
36 public int hashCode() {
37 return recipientId.hashCode();
38 }
39 }