]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/ReceiveMessageHandler.java
Refactor register and verify
[signal-cli] / src / main / java / org / asamk / signal / ReceiveMessageHandler.java
index f961fa1fdbed5cdcee7692eb995ca8dfa282085d..db78f454c93851485f2066ae07e6e56254e4b339 100644 (file)
@@ -1,9 +1,10 @@
 package org.asamk.signal;
 
-import org.asamk.signal.manager.GroupUtils;
 import org.asamk.signal.manager.Manager;
-import org.asamk.signal.storage.contacts.ContactInfo;
-import org.asamk.signal.storage.groups.GroupInfo;
+import org.asamk.signal.manager.groups.GroupId;
+import org.asamk.signal.manager.groups.GroupUtils;
+import org.asamk.signal.manager.storage.contacts.ContactInfo;
+import org.asamk.signal.manager.storage.groups.GroupInfo;
 import org.asamk.signal.util.DateUtils;
 import org.asamk.signal.util.Util;
 import org.whispersystems.signalservice.api.messages.SignalServiceAttachment;
@@ -328,8 +329,9 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler {
                     System.out.println(" - Timestamp: " + DateUtils.formatTimestamp(typingMessage.getTimestamp()));
                     if (typingMessage.getGroupId().isPresent()) {
                         System.out.println(" - Group Info:");
-                        System.out.println("   Id: " + Base64.encodeBytes(typingMessage.getGroupId().get()));
-                        GroupInfo group = m.getGroup(typingMessage.getGroupId().get());
+                        final GroupId groupId = GroupId.unknownVersion(typingMessage.getGroupId().get());
+                        System.out.println("   Id: " + groupId.toBase64());
+                        GroupInfo group = m.getGroup(groupId);
                         if (group != null) {
                             System.out.println("   Name: " + group.getTitle());
                         } else {
@@ -356,13 +358,14 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler {
         if (message.getGroupContext().isPresent()) {
             System.out.println("Group info:");
             final SignalServiceGroupContext groupContext = message.getGroupContext().get();
+            final GroupId groupId = GroupUtils.getGroupId(groupContext);
             if (groupContext.getGroupV1().isPresent()) {
                 SignalServiceGroup groupInfo = groupContext.getGroupV1().get();
-                System.out.println("  Id: " + Base64.encodeBytes(groupInfo.getGroupId()));
+                System.out.println("  Id: " + groupId.toBase64());
                 if (groupInfo.getType() == SignalServiceGroup.Type.UPDATE && groupInfo.getName().isPresent()) {
                     System.out.println("  Name: " + groupInfo.getName().get());
                 } else {
-                    GroupInfo group = m.getGroup(groupInfo.getGroupId());
+                    GroupInfo group = m.getGroup(groupId);
                     if (group != null) {
                         System.out.println("  Name: " + group.getTitle());
                     } else {
@@ -381,8 +384,7 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler {
                 }
             } else if (groupContext.getGroupV2().isPresent()) {
                 final SignalServiceGroupV2 groupInfo = groupContext.getGroupV2().get();
-                byte[] groupId = GroupUtils.getGroupId(groupInfo.getMasterKey());
-                System.out.println("  Id: " + Base64.encodeBytes(groupId));
+                System.out.println("  Id: " + groupId.toBase64());
                 GroupInfo group = m.getGroup(groupId);
                 if (group != null) {
                     System.out.println("  Name: " + group.getTitle());
@@ -449,7 +451,7 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler {
             System.out.println("Quote: (" + quote.getId() + ")");
             System.out.println(" Author: " + m.resolveSignalServiceAddress(quote.getAuthor()).getLegacyIdentifier());
             System.out.println(" Text: " + quote.getText());
-            if (quote.getMentions().size() > 0) {
+            if (quote.getMentions() != null && quote.getMentions().size() > 0) {
                 System.out.println(" Mentions: ");
                 for (SignalServiceDataMessage.Mention mention : quote.getMentions()) {
                     printMention(mention, m);
@@ -488,15 +490,8 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler {
     }
 
     private void printMention(SignalServiceDataMessage.Mention mention, Manager m) {
-        System.out.println("- "
-                + m.resolveSignalServiceAddress(
-                        new SignalServiceAddress(mention.getUuid(), null)
-                ).getLegacyIdentifier()
-                + ": "
-                + mention.getStart()
-                + " (length: "
-                + mention.getLength()
-                + ")");
+        System.out.println("- " + m.resolveSignalServiceAddress(new SignalServiceAddress(mention.getUuid(), null))
+                .getLegacyIdentifier() + ": " + mention.getStart() + " (length: " + mention.getLength() + ")");
     }
 
     private void printAttachment(SignalServiceAttachment attachment) {