MCPcopy Create free account
hub / github.com/TDesktop-x64/tdesktop / applyPeerDialogs

Method applyPeerDialogs

Telegram/SourceFiles/data/data_histories.cpp:485–503  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

483}
484
485void Histories::applyPeerDialogs(const MTPmessages_PeerDialogs &dialogs) {
486 Expects(dialogs.type() == mtpc_messages_peerDialogs);
487
488 const auto &data = dialogs.c_messages_peerDialogs();
489 _owner->processUsers(data.vusers());
490 _owner->processChats(data.vchats());
491 _owner->processMessages(data.vmessages(), NewMessageType::Last);
492 for (const auto &dialog : data.vdialogs().v) {
493 dialog.match([&](const MTPDdialog &data) {
494 if (const auto peerId = peerFromMTP(data.vpeer())) {
495 _owner->history(peerId)->applyDialog(nullptr, data);
496 }
497 }, [&](const MTPDdialogFolder &data) {
498 const auto folder = _owner->processFolder(data.vfolder());
499 folder->applyDialog(data);
500 });
501 }
502 _owner->sendHistoryChangeNotifications();
503}
504
505void Histories::changeDialogUnreadMark(
506 not_null<History*> history,

Callers 1

loadNextExceptionsMethod · 0.80

Calls 9

peerFromMTPFunction · 0.85
processUsersMethod · 0.80
processChatsMethod · 0.80
processMessagesMethod · 0.80
processFolderMethod · 0.80
typeMethod · 0.45
applyDialogMethod · 0.45
historyMethod · 0.45

Tested by

no test coverage detected