]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/util/ErrorUtils.java
Use exit 4 when sending a single recipient message fails due to untrusted identity key
[signal-cli] / src / main / java / org / asamk / signal / util / ErrorUtils.java
index e9553f98e8f5760cba9cf9470dcb5adbaf31e29e..f7115ea97aa1d787a9257e9d428b6455bfcb8a79 100644 (file)
@@ -33,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;