Add libtextsecure support for syncing read messages

Plumbing for sending and receiving a new sync protobuf for marking
messages read on/from my other devices.

// FREEBIE
This commit is contained in:
lilia 2016-02-19 16:28:08 -08:00
parent ecf2885a6c
commit 781ada64ca
5 changed files with 84 additions and 2 deletions

View file

@ -182,6 +182,24 @@ MessageSender.prototype = {
return this.sendIndividualProto(myNumber, contentMessage, Date.now());
}
},
sendReadReceipts: function(receipts) {
var myNumber = textsecure.storage.user.getNumber();
var myDevice = textsecure.storage.user.getDeviceId();
if (myDevice != 1) {
var syncMessage = new textsecure.protobuf.SyncMessage();
syncMessage.read = [];
for (var i = 0; i < receipts.length; ++i) {
var read = new textsecure.protobuf.SyncMessage.Read();
read.timestamp = receipts[i].timestamp;
read.sender = receipts[i].sender;
syncMessage.read.push(read);
}
var contentMessage = new textsecure.protobuf.Content();
contentMessage.syncMessage = syncMessage;
return this.sendIndividualProto(myNumber, contentMessage, Date.now());
}
},
sendGroupProto: function(numbers, proto, timestamp) {
timestamp = timestamp || Date.now();
@ -383,6 +401,7 @@ textsecure.MessageSender = function(url, username, password, attachment_server_u
this.setGroupAvatar = sender.setGroupAvatar .bind(sender);
this.leaveGroup = sender.leaveGroup .bind(sender);
this.sendSyncMessage = sender.sendSyncMessage .bind(sender);
this.sendReadReceipts = sender.sendReadReceipts .bind(sender);
};
textsecure.MessageSender.prototype = {