Fix issue with remote delete sent transcripts.
parent
533d86607f
commit
e778ab2e3a
|
@ -18,12 +18,18 @@ public final class RemoteDeleteUtil {
|
||||||
private RemoteDeleteUtil() {}
|
private RemoteDeleteUtil() {}
|
||||||
|
|
||||||
public static boolean isValidReceive(@NonNull MessageRecord targetMessage, @NonNull Recipient deleteSender, long deleteServerTimestamp) {
|
public static boolean isValidReceive(@NonNull MessageRecord targetMessage, @NonNull Recipient deleteSender, long deleteServerTimestamp) {
|
||||||
boolean isValidSender = (deleteSender.isLocalNumber() && targetMessage.isOutgoing()) ||
|
boolean isValidIncomingOutgoing = (deleteSender.isLocalNumber() && targetMessage.isOutgoing()) ||
|
||||||
(!deleteSender.isLocalNumber() && !targetMessage.isOutgoing());
|
(!deleteSender.isLocalNumber() && !targetMessage.isOutgoing());
|
||||||
|
|
||||||
return isValidSender &&
|
boolean isValidSender = targetMessage.getIndividualRecipient().equals(deleteSender) ||
|
||||||
targetMessage.getIndividualRecipient().equals(deleteSender) &&
|
deleteSender.isLocalNumber() && targetMessage.isOutgoing();
|
||||||
(deleteServerTimestamp - targetMessage.getServerTimestamp()) < RECEIVE_THRESHOLD;
|
|
||||||
|
long messageTimestamp = deleteSender.isLocalNumber() && targetMessage.isOutgoing() ? targetMessage.getDateSent()
|
||||||
|
: targetMessage.getServerTimestamp();
|
||||||
|
|
||||||
|
return isValidIncomingOutgoing &&
|
||||||
|
isValidSender &&
|
||||||
|
(deleteServerTimestamp - messageTimestamp) < RECEIVE_THRESHOLD;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isValidSend(@NonNull Collection<MessageRecord> targetMessages, long currentTime) {
|
public static boolean isValidSend(@NonNull Collection<MessageRecord> targetMessages, long currentTime) {
|
||||||
|
|
Loading…
Reference in New Issue