mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-25 03:11:10 +01:00
Update delete for everyone functionality to match requirements.
This commit is contained in:
committed by
Greyson Parrelli
parent
c877aba09f
commit
1752972be9
@@ -13,7 +13,7 @@ import java.util.concurrent.TimeUnit;
|
||||
public final class RemoteDeleteUtil {
|
||||
|
||||
private static final long RECEIVE_THRESHOLD = TimeUnit.DAYS.toMillis(1);
|
||||
private static final long SEND_THRESHOLD = TimeUnit.MINUTES.toMillis(30);
|
||||
private static final long SEND_THRESHOLD = TimeUnit.HOURS.toMillis(3);
|
||||
|
||||
private RemoteDeleteUtil() {}
|
||||
|
||||
@@ -21,17 +21,23 @@ public final class RemoteDeleteUtil {
|
||||
boolean isValidSender = (deleteSender.isLocalNumber() && targetMessage.isOutgoing()) ||
|
||||
(!deleteSender.isLocalNumber() && !targetMessage.isOutgoing());
|
||||
|
||||
return isValidSender &&
|
||||
return isValidSender &&
|
||||
targetMessage.getIndividualRecipient().equals(deleteSender) &&
|
||||
(deleteServerTimestamp - targetMessage.getServerTimestamp()) < RECEIVE_THRESHOLD;
|
||||
}
|
||||
|
||||
public static boolean isValidSend(@NonNull Collection<MessageRecord> targetMessages, long currentTime) {
|
||||
// TODO [greyson] [remote-delete] Update with server timestamp when available for outgoing messages
|
||||
return Stream.of(targetMessages)
|
||||
.allMatch(message -> message.isOutgoing() &&
|
||||
!message.isRemoteDelete() &&
|
||||
!message.isPending() &&
|
||||
(currentTime - message.getDateSent()) < SEND_THRESHOLD);
|
||||
return Stream.of(targetMessages).allMatch(message -> isValidSend(message, currentTime));
|
||||
}
|
||||
|
||||
private static boolean isValidSend(MessageRecord message, long currentTime) {
|
||||
return message.isOutgoing() &&
|
||||
message.isPush() &&
|
||||
(!message.getRecipient().isGroup() || message.getRecipient().isActiveGroup()) &&
|
||||
!message.getRecipient().isLocalNumber() &&
|
||||
!message.isRemoteDelete() &&
|
||||
!message.isPending() &&
|
||||
(currentTime - message.getDateSent()) < SEND_THRESHOLD;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user