]> nmode's Git Repositories - signal-cli/commitdiff
Send expirationTime with all group updates
authorAsamK <asamk@gmx.de>
Thu, 5 Sep 2019 09:18:21 +0000 (11:18 +0200)
committerAsamK <asamk@gmx.de>
Thu, 5 Sep 2019 11:49:19 +0000 (13:49 +0200)
Fixes #140

src/main/java/org/asamk/signal/manager/Manager.java

index 8672684aa02a09ee4d5264f7825b533fb0f8694c..0428755ef96eb40b79ddbbb86733d250b0315eef 100644 (file)
@@ -515,8 +515,15 @@ public class Manager implements Signal {
             }
         }
 
-        return SignalServiceDataMessage.newBuilder()
+        SignalServiceDataMessage.Builder messageBuilder = SignalServiceDataMessage.newBuilder()
                 .asGroupMessage(group.build());
+
+        ThreadInfo thread = account.getThreadStore().getThread(Base64.encodeBytes(g.groupId));
+        if (thread != null) {
+            messageBuilder.withExpiration(thread.messageExpirationTime);
+        }
+
+        return messageBuilder;
     }
 
     private void sendGroupInfoRequest(byte[] groupId, String recipient) throws IOException, EncapsulatedExceptions {
@@ -530,6 +537,11 @@ public class Manager implements Signal {
         SignalServiceDataMessage.Builder messageBuilder = SignalServiceDataMessage.newBuilder()
                 .asGroupMessage(group.build());
 
+        ThreadInfo thread = account.getThreadStore().getThread(Base64.encodeBytes(groupId));
+        if (thread != null) {
+            messageBuilder.withExpiration(thread.messageExpirationTime);
+        }
+
         // Send group info request message to the recipient who sent us a message with this groupId
         final List<String> membersSend = new ArrayList<>();
         membersSend.add(recipient);