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
) {
25 System
.out
.println(timestamp
);
26 List
<String
> errors
= getErrorMessagesFromSendMessageResults(results
);
27 return handleSendMessageResultErrors(errors
);
30 public static List
<String
> getErrorMessagesFromSendMessageResults(List
<SendMessageResult
> results
) {
31 List
<String
> errors
= new ArrayList
<>();
32 for (SendMessageResult result
: results
) {
33 if (result
.isNetworkFailure()) {
34 errors
.add(String
.format("Network failure for \"%s\"", result
.getAddress().getLegacyIdentifier()));
35 } else if (result
.isUnregisteredFailure()) {
36 errors
.add(String
.format("Unregistered user \"%s\"", result
.getAddress().getLegacyIdentifier()));
37 } else if (result
.getIdentityFailure() != null) {
38 errors
.add(String
.format("Untrusted Identity for \"%s\"", result
.getAddress().getLegacyIdentifier()));
45 private static int handleSendMessageResultErrors(List
<String
> errors
) {
46 if (errors
.size() == 0) {
49 System
.err
.println("Failed to send (some) messages:");
50 for (String error
: errors
) {
51 System
.err
.println(error
);
56 public static void handleIOException(IOException e
) {
57 System
.err
.println("Failed to send message: " + e
.getMessage());
60 public static void handleGroupNotFoundException(GroupNotFoundException e
) {
61 System
.err
.println("Failed to send to group: " + e
.getMessage());
62 System
.err
.println("Aborting sending.");
65 public static void handleNotAGroupMemberException(NotAGroupMemberException e
) {
66 System
.err
.println("Failed to send to group: " + e
.getMessage());
67 System
.err
.println("Update the group on another device to readd the user to this group.");
68 System
.err
.println("Aborting sending.");
71 public static void handleGroupIdFormatException(GroupIdFormatException e
) {
72 System
.err
.println(e
.getMessage());
73 System
.err
.println("Aborting sending.");
76 public static void handleInvalidNumberException(InvalidNumberException e
) {
77 System
.err
.println("Failed to parse recipient: " + e
.getMessage());
78 System
.err
.println("Aborting sending.");