mirror of
https://github.com/telegramdesktop/tdesktop
synced 2024-12-25 16:02:52 +00:00
Request frequent contacts calls category.
This commit is contained in:
parent
a253d34c00
commit
59df447fed
@ -947,6 +947,9 @@ bool AppendTopPeers(ContactsList &to, const MTPcontacts_TopPeers &data) {
|
||||
} else if (category == mtpc_topPeerCategoryBotsInline) {
|
||||
append(to.inlineBots, data.vpeers);
|
||||
return true;
|
||||
} else if (category == mtpc_topPeerCategoryPhoneCalls) {
|
||||
append(to.phoneCalls, data.vpeers);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
@ -216,6 +216,7 @@ struct ContactsList {
|
||||
std::vector<ContactInfo> list;
|
||||
std::vector<TopPeer> correspondents;
|
||||
std::vector<TopPeer> inlineBots;
|
||||
std::vector<TopPeer> phoneCalls;
|
||||
};
|
||||
|
||||
ContactsList ParseContactsList(const MTPcontacts_Contacts &data);
|
||||
|
@ -632,7 +632,9 @@ void ApiWrap::requestTopPeersSlice() {
|
||||
|
||||
using Flag = MTPcontacts_GetTopPeers::Flag;
|
||||
mainRequest(MTPcontacts_GetTopPeers(
|
||||
MTP_flags(Flag::f_correspondents | Flag::f_bots_inline),
|
||||
MTP_flags(Flag::f_correspondents
|
||||
| Flag::f_bots_inline
|
||||
| Flag::f_phone_calls),
|
||||
MTP_int(_contactsProcess->topPeersOffset),
|
||||
MTP_int(kTopPeerSliceLimit),
|
||||
MTP_int(0) // hash
|
||||
@ -665,9 +667,10 @@ void ApiWrap::requestTopPeersSlice() {
|
||||
auto process = base::take(_contactsProcess);
|
||||
process->done(std::move(process->result));
|
||||
} else {
|
||||
_contactsProcess->topPeersOffset = std::max(
|
||||
_contactsProcess->topPeersOffset = std::max(std::max(
|
||||
_contactsProcess->result.correspondents.size(),
|
||||
_contactsProcess->result.inlineBots.size());
|
||||
_contactsProcess->result.inlineBots.size()),
|
||||
_contactsProcess->result.phoneCalls.size());
|
||||
requestTopPeersSlice();
|
||||
}
|
||||
}).send();
|
||||
|
@ -552,8 +552,10 @@ Result TextWriter::writeSavedContacts(const Data::ContactsList &data) {
|
||||
}
|
||||
|
||||
Result TextWriter::writeFrequentContacts(const Data::ContactsList &data) {
|
||||
const auto size = data.correspondents.size() + data.inlineBots.size();
|
||||
if (data.correspondents.empty() && data.inlineBots.empty()) {
|
||||
const auto size = data.correspondents.size()
|
||||
+ data.inlineBots.size()
|
||||
+ data.phoneCalls.size();
|
||||
if (!size) {
|
||||
return Result::Success();
|
||||
}
|
||||
|
||||
@ -602,6 +604,7 @@ Result TextWriter::writeFrequentContacts(const Data::ContactsList &data) {
|
||||
};
|
||||
writeList(data.correspondents, "Correspondents");
|
||||
writeList(data.inlineBots, "Inline bots");
|
||||
writeList(data.phoneCalls, "Calls");
|
||||
const auto full = JoinList(kLineBreak, list);
|
||||
if (const auto result = file->writeBlock(full); !result) {
|
||||
return result;
|
||||
|
Loading…
Reference in New Issue
Block a user