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());
20 System
.err
.println("If you use an Oracle JRE please check if you have unlimited strength crypto enabled, see README");
23 public static int handleTimestampAndSendMessageResults(long timestamp
, List
<SendMessageResult
> results
) {
24 System
.out
.println(timestamp
);
25 List
<String
> errors
= getErrorMessagesFromSendMessageResults(results
);
26 return handleSendMessageResultErrors(errors
);
29 public static List
<String
> getErrorMessagesFromSendMessageResults(List
<SendMessageResult
> results
) {
30 List
<String
> errors
= new ArrayList
<>();
31 for (SendMessageResult result
: results
) {
32 if (result
.isNetworkFailure()) {
33 errors
.add(String
.format("Network failure for \"%s\"", result
.getAddress().getLegacyIdentifier()));
34 } else if (result
.isUnregisteredFailure()) {
35 errors
.add(String
.format("Unregistered user \"%s\"", result
.getAddress().getLegacyIdentifier()));
36 } else if (result
.getIdentityFailure() != null) {
37 errors
.add(String
.format("Untrusted Identity for \"%s\"", result
.getAddress().getLegacyIdentifier()));
44 private static int handleSendMessageResultErrors(List
<String
> errors
) {
45 if (errors
.size() == 0) {
48 System
.err
.println("Failed to send (some) messages:");
49 for (String error
: errors
) {
50 System
.err
.println(error
);
55 public static void handleIOException(IOException e
) {
56 System
.err
.println("Failed to send message: " + e
.getMessage());
59 public static void handleGroupNotFoundException(GroupNotFoundException e
) {
60 System
.err
.println("Failed to send to group: " + e
.getMessage());
61 System
.err
.println("Aborting sending.");
64 public static void handleNotAGroupMemberException(NotAGroupMemberException e
) {
65 System
.err
.println("Failed to send to group: " + e
.getMessage());
66 System
.err
.println("Update the group on another device to readd the user to this group.");
67 System
.err
.println("Aborting sending.");
70 public static void handleGroupIdFormatException(GroupIdFormatException e
) {
71 System
.err
.println(e
.getMessage());
72 System
.err
.println("Aborting sending.");
75 public static void handleInvalidNumberException(InvalidNumberException e
) {
76 System
.err
.println("Failed to parse recipient: " + e
.getMessage());
77 System
.err
.println("Aborting sending.");