]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/util/ErrorUtils.java
Refactor ReceiveMessageHandler
[signal-cli] / src / main / java / org / asamk / signal / util / ErrorUtils.java
index 37237f637ad3b8e5a855065f2049336f34380b45..f7115ea97aa1d787a9257e9d428b6455bfcb8a79 100644 (file)
@@ -1,7 +1,8 @@
 package org.asamk.signal.util;
 
-import org.asamk.signal.manager.GroupNotFoundException;
-import org.asamk.signal.manager.NotAGroupMemberException;
+import org.asamk.signal.manager.groups.GroupIdFormatException;
+import org.asamk.signal.manager.groups.GroupNotFoundException;
+import org.asamk.signal.manager.groups.NotAGroupMemberException;
 import org.whispersystems.signalservice.api.messages.SendMessageResult;
 import org.whispersystems.signalservice.api.util.InvalidNumberException;
 
@@ -17,11 +18,14 @@ public class ErrorUtils {
     public static void handleAssertionError(AssertionError e) {
         System.err.println("Failed to send/receive message (Assertion): " + e.getMessage());
         e.printStackTrace();
-        System.err.println("If you use an Oracle JRE please check if you have unlimited strength crypto enabled, see README");
+        System.err.println(
+                "If you use an Oracle JRE please check if you have unlimited strength crypto enabled, see README");
     }
 
     public static int handleTimestampAndSendMessageResults(long timestamp, List<SendMessageResult> results) {
-        System.out.println(timestamp);
+        if (timestamp != 0) {
+            System.out.println(timestamp);
+        }
         List<String> errors = getErrorMessagesFromSendMessageResults(results);
         return handleSendMessageResultErrors(errors);
     }
@@ -29,18 +33,26 @@ public class ErrorUtils {
     public static List<String> getErrorMessagesFromSendMessageResults(List<SendMessageResult> results) {
         List<String> errors = new ArrayList<>();
         for (SendMessageResult result : results) {
-            if (result.isNetworkFailure()) {
-                errors.add(String.format("Network failure for \"%s\"", result.getAddress().getLegacyIdentifier()));
-            } else if (result.isUnregisteredFailure()) {
-                errors.add(String.format("Unregistered user \"%s\"", result.getAddress().getLegacyIdentifier()));
-            } else if (result.getIdentityFailure() != null) {
-                errors.add(String.format("Untrusted Identity for \"%s\"", result.getAddress().getLegacyIdentifier()));
+            String error = getErrorMessageFromSendMessageResult(result);
+            if (error != null) {
+                errors.add(error);
             }
         }
 
         return errors;
     }
 
+    public static String getErrorMessageFromSendMessageResult(SendMessageResult result) {
+        if (result.isNetworkFailure()) {
+            return String.format("Network failure for \"%s\"", result.getAddress().getLegacyIdentifier());
+        } else if (result.isUnregisteredFailure()) {
+            return String.format("Unregistered user \"%s\"", result.getAddress().getLegacyIdentifier());
+        } else if (result.getIdentityFailure() != null) {
+            return String.format("Untrusted Identity for \"%s\"", result.getAddress().getLegacyIdentifier());
+        }
+        return null;
+    }
+
     private static int handleSendMessageResultErrors(List<String> errors) {
         if (errors.size() == 0) {
             return 0;