Add support for versioned expiration timers.

Co-authored-by: Greyson Parrelli <greyson@signal.org>
This commit is contained in:
Cody Henthorne
2024-08-27 07:41:35 -04:00
committed by Nicholas Tinsley
parent 4152294b57
commit 1f196f74ff
43 changed files with 392 additions and 139 deletions

View File

@@ -75,9 +75,10 @@ public class RemoteReplyReceiver extends BroadcastReceiver {
SignalExecutors.BOUNDED.execute(() -> {
long threadId;
Recipient recipient = Recipient.resolved(recipientId);
long expiresIn = TimeUnit.SECONDS.toMillis(recipient.getExpiresInSeconds());
ParentStoryId parentStoryId = groupStoryId != Long.MIN_VALUE ? ParentStoryId.deserialize(groupStoryId) : null;
Recipient recipient = Recipient.resolved(recipientId);
long expiresIn = TimeUnit.SECONDS.toMillis(recipient.getExpiresInSeconds());
int expireTimerVersion = recipient.getExpireTimerVersion();
ParentStoryId parentStoryId = groupStoryId != Long.MIN_VALUE ? ParentStoryId.deserialize(groupStoryId) : null;
switch (replyMethod) {
case GroupMessage: {
@@ -86,6 +87,7 @@ public class RemoteReplyReceiver extends BroadcastReceiver {
new LinkedList<>(),
System.currentTimeMillis(),
expiresIn,
expireTimerVersion,
false,
0,
StoryType.NONE,