mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-22 09:49:30 +01:00
Add read and viewed receipts to the MSL.
This commit is contained in:
committed by
Alex Hart
parent
3d0e15e2b8
commit
0921ebe5f1
@@ -92,14 +92,16 @@ public class MarkReadReceiver extends BroadcastReceiver {
|
||||
.collect(Collectors.groupingBy(MarkedMessageInfo::getThreadId));
|
||||
|
||||
Stream.of(threadToInfo).forEach(threadToInfoEntry -> {
|
||||
Map<RecipientId, List<SyncMessageId>> idMapForThread = Stream.of(threadToInfoEntry.getValue())
|
||||
.map(MarkedMessageInfo::getSyncMessageId)
|
||||
.collect(Collectors.groupingBy(SyncMessageId::getRecipientId));
|
||||
Map<RecipientId, List<MarkedMessageInfo>> recipientIdToInfo = Stream.of(threadToInfoEntry.getValue())
|
||||
.map(info -> info)
|
||||
.collect(Collectors.groupingBy(info -> info.getSyncMessageId().getRecipientId()));
|
||||
|
||||
Stream.of(idMapForThread).forEach(entry -> {
|
||||
List<Long> timestamps = Stream.of(entry.getValue()).map(SyncMessageId::getTimetamp).toList();
|
||||
Stream.of(recipientIdToInfo).forEach(entry -> {
|
||||
long threadId = threadToInfoEntry.getKey();
|
||||
RecipientId recipientId = entry.getKey();
|
||||
List<MarkedMessageInfo> infos = entry.getValue();
|
||||
|
||||
SendReadReceiptJob.enqueue(threadToInfoEntry.getKey(), entry.getKey(), timestamps);
|
||||
SendReadReceiptJob.enqueue(threadId, recipientId, infos);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user