Exceptions: Failure, UntrustedIdentity
+sendViewedReceipt(recipient<s>, targetSentTimestamp<ax>) -> <>::
+* recipient : Phone number of a single recipient
+* targetSentTimestamp : Array of Longs to identify the corresponding signal messages
+
+Exceptions: Failure, UntrustedIdentity
+
sendRemoteDeleteMessage(targetSentTimestamp<x>, recipient<s>) -> timestamp<x>::
sendRemoteDeleteMessage(targetSentTimestamp<x>, recipients<as>) -> timestamp<x>::
* targetSentTimestamp : Long representing timestamp of the message to delete
String recipient, List<Long> messageIds
) throws Error.Failure, Error.UntrustedIdentity;
+ void sendViewedReceipt(
+ String recipient, List<Long> messageIds
+ ) throws Error.Failure, Error.UntrustedIdentity;
+
long sendRemoteDeleteMessage(
long targetSentTimestamp, String recipient
) throws Error.Failure, Error.InvalidNumber;
}
}
+ @Override
+ public void sendViewedReceipt(
+ final String recipient, final List<Long> messageIds
+ ) throws Error.Failure, Error.UntrustedIdentity {
+ try {
+ m.sendViewedReceipt(getSingleRecipientIdentifier(recipient, m.getSelfNumber()), messageIds);
+ } catch (IOException e) {
+ throw new Error.Failure(e.getMessage());
+ } catch (UntrustedIdentityException e) {
+ throw new Error.UntrustedIdentity(e.getMessage());
+ }
+ }
+
@Override
public void sendContacts() {
try {
import java.util.List;
-record JsonReceiptMessage(long when, boolean isDelivery, boolean isRead, List<Long> timestamps) {
+record JsonReceiptMessage(long when, boolean isDelivery, boolean isRead, boolean isViewed, List<Long> timestamps) {
static JsonReceiptMessage from(SignalServiceReceiptMessage receiptMessage) {
final var when = receiptMessage.getWhen();
final var isDelivery = receiptMessage.isDeliveryReceipt();
final var isRead = receiptMessage.isReadReceipt();
+ final var isViewed = receiptMessage.isViewedReceipt();
final var timestamps = receiptMessage.getTimestamps();
- return new JsonReceiptMessage(when, isDelivery, isRead, timestamps);
+ return new JsonReceiptMessage(when, isDelivery, isRead, isViewed, timestamps);
}
static JsonReceiptMessage deliveryReceipt(final long when, final List<Long> timestamps) {
- return new JsonReceiptMessage(when, true, false, timestamps);
+ return new JsonReceiptMessage(when, true, false, false, timestamps);
}
}