From 65c6ac69eba8337c17aa4e450496399994b5227f Mon Sep 17 00:00:00 2001 From: levlam Date: Mon, 13 Apr 2020 04:48:21 +0300 Subject: [PATCH] Add get_dialog_public_order overload from DialogList. GitOrigin-RevId: 9ac90c9f041a756b4adbd1c9e632f97cf43edf66 --- td/telegram/MessagesManager.cpp | 15 +++++++++++---- td/telegram/MessagesManager.h | 2 ++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 0a3f5f7d2..9570eb9a9 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -13123,7 +13123,7 @@ vector MessagesManager::get_dialogs(FolderId folder_id, DialogDate off auto d = get_dialog(sponsored_dialog_id_); CHECK(d != nullptr); if (is_dialog_sponsored(d)) { - DialogDate date(get_dialog_public_order(folder_id, d), d->dialog_id); + DialogDate date(get_dialog_public_order(&list, d), d->dialog_id); if (offset < date) { result.push_back(sponsored_dialog_id_); offset = date; @@ -28238,10 +28238,17 @@ bool MessagesManager::is_dialog_sponsored(const Dialog *d) const { } int64 MessagesManager::get_dialog_public_order(FolderId folder_id, const Dialog *d) const { - auto order = is_dialog_sponsored(d) && folder_id == FolderId::main() ? SPONSORED_DIALOG_ORDER : d->order; + return get_dialog_public_order(get_dialog_list(folder_id), d); +} + +int64 MessagesManager::get_dialog_public_order(const DialogList *list, const Dialog *d) const { + if (list == nullptr) { + return 0; + } + + auto order = is_dialog_sponsored(d) && list->folder_id == FolderId::main() ? SPONSORED_DIALOG_ORDER : d->order; DialogDate dialog_date(order, d->dialog_id); - auto *list = get_dialog_list(folder_id); - return list != nullptr && dialog_date <= list->last_dialog_date_ ? order : 0; + return dialog_date <= list->last_dialog_date_ ? order : 0; } int64 MessagesManager::get_dialog_order_object(const Dialog *d) const { diff --git a/td/telegram/MessagesManager.h b/td/telegram/MessagesManager.h index 5616898eb..257c8c98b 100644 --- a/td/telegram/MessagesManager.h +++ b/td/telegram/MessagesManager.h @@ -2266,6 +2266,8 @@ class MessagesManager : public Actor { int64 get_dialog_public_order(FolderId folder_id, const Dialog *d) const; + int64 get_dialog_public_order(const DialogList *list, const Dialog *d) const; + int64 get_dialog_order_object(const Dialog *d) const; bool update_dialog_draft_message(Dialog *d, unique_ptr &&draft_message, bool from_update,