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