1 package org
.asamk
.signal
.util
;
3 import org
.asamk
.signal
.manager
.groups
.GroupIdFormatException
;
4 import org
.asamk
.signal
.manager
.groups
.GroupNotFoundException
;
5 import org
.asamk
.signal
.manager
.groups
.NotAGroupMemberException
;
6 import org
.whispersystems
.signalservice
.api
.messages
.SendMessageResult
;
7 import org
.whispersystems
.signalservice
.api
.util
.InvalidNumberException
;
9 import java
.io
.IOException
;
10 import java
.util
.ArrayList
;
11 import java
.util
.List
;
13 public class ErrorUtils
{
15 private ErrorUtils() {
18 public static void handleAssertionError(AssertionError e
) {
19 System
.err
.println("Failed to send/receive message (Assertion): " + e
.getMessage());
22 "If you use an Oracle JRE please check if you have unlimited strength crypto enabled, see README");
25 public static int handleTimestampAndSendMessageResults(long timestamp
, List
<SendMessageResult
> results
) {
27 System
.out
.println(timestamp
);
29 List
<String
> errors
= getErrorMessagesFromSendMessageResults(results
);
30 return handleSendMessageResultErrors(errors
);
33 public static List
<String
> getErrorMessagesFromSendMessageResults(List
<SendMessageResult
> results
) {
34 List
<String
> errors
= new ArrayList
<>();
35 for (SendMessageResult result
: results
) {
36 if (result
.isNetworkFailure()) {
37 errors
.add(String
.format("Network failure for \"%s\"", result
.getAddress().getLegacyIdentifier()));
38 } else if (result
.isUnregisteredFailure()) {
39 errors
.add(String
.format("Unregistered user \"%s\"", result
.getAddress().getLegacyIdentifier()));
40 } else if (result
.getIdentityFailure() != null) {
41 errors
.add(String
.format("Untrusted Identity for \"%s\"", result
.getAddress().getLegacyIdentifier()));
48 private static int handleSendMessageResultErrors(List
<String
> errors
) {
49 if (errors
.size() == 0) {
52 System
.err
.println("Failed to send (some) messages:");
53 for (String error
: errors
) {
54 System
.err
.println(error
);
59 public static void handleIOException(IOException e
) {
60 System
.err
.println("Failed to send message: " + e
.getMessage());
63 public static void handleGroupNotFoundException(GroupNotFoundException e
) {
64 System
.err
.println("Failed to send to group: " + e
.getMessage());
65 System
.err
.println("Aborting sending.");
68 public static void handleNotAGroupMemberException(NotAGroupMemberException e
) {
69 System
.err
.println("Failed to send to group: " + e
.getMessage());
70 System
.err
.println("Update the group on another device to readd the user to this group.");
71 System
.err
.println("Aborting sending.");
74 public static void handleGroupIdFormatException(GroupIdFormatException e
) {
75 System
.err
.println(e
.getMessage());
76 System
.err
.println("Aborting sending.");
79 public static void handleInvalidNumberException(InvalidNumberException e
) {
80 System
.err
.println("Failed to parse recipient: " + e
.getMessage());
81 System
.err
.println("Aborting sending.");