1 package org
.asamk
.signal
.manager
.api
;
3 import org
.asamk
.signal
.manager
.helper
.RecipientAddressResolver
;
4 import org
.asamk
.signal
.manager
.storage
.recipients
.RecipientResolver
;
6 public record SendMessageResult(
7 RecipientAddress address
,
9 boolean isNetworkFailure
,
10 boolean isUnregisteredFailure
,
11 boolean isIdentityFailure
,
12 boolean isRateLimitFailure
,
13 ProofRequiredException proofRequiredFailure
,
14 boolean isInvalidPreKeyFailure
17 public static SendMessageResult
unregisteredFailure(RecipientAddress address
) {
18 return new SendMessageResult(address
, false, false, true, false, false, null, false);
21 public static SendMessageResult
from(
22 final org
.whispersystems
.signalservice
.api
.messages
.SendMessageResult sendMessageResult
,
23 RecipientResolver recipientResolver
,
24 RecipientAddressResolver addressResolver
26 return new SendMessageResult(addressResolver
.resolveRecipientAddress(recipientResolver
.resolveRecipient(
27 sendMessageResult
.getAddress())).toApiRecipientAddress(),
28 sendMessageResult
.isSuccess(),
29 sendMessageResult
.isNetworkFailure(),
30 sendMessageResult
.isUnregisteredFailure(),
31 sendMessageResult
.getIdentityFailure() != null,
32 sendMessageResult
.getRateLimitFailure() != null || sendMessageResult
.getProofRequiredFailure() != null,
33 sendMessageResult
.getProofRequiredFailure() == null
35 : new ProofRequiredException(sendMessageResult
.getProofRequiredFailure()),
36 sendMessageResult
.isInvalidPreKeyFailure());