From 135be34b0fab034f23d84223e1fca5076bc2b92f Mon Sep 17 00:00:00 2001 From: levlam Date: Sun, 7 Jun 2020 23:07:46 +0300 Subject: [PATCH] Add MessagesManager::do_update_list_last_pinned_dialog_date. GitOrigin-RevId: 9059bce326b65d2b7d5b260fdb7fcb52918ba072 --- td/telegram/MessagesManager.cpp | 17 +++++++++++++---- td/telegram/MessagesManager.h | 2 ++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 911a19650..e433c9e41 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -30804,13 +30804,14 @@ void MessagesManager::update_last_dialog_date(FolderId folder_id) { } } -void MessagesManager::update_list_last_pinned_dialog_date(DialogList &list, bool only_update) { +// must not call get_dialog_filter +bool MessagesManager::do_update_list_last_pinned_dialog_date(DialogList &list) const { CHECK(!td_->auth_manager_->is_bot()); if (list.last_pinned_dialog_date_ == MAX_DIALOG_DATE) { - return; + return false; } if (!list.are_pinned_dialogs_inited_) { - return; + return false; } DialogDate max_dialog_date = MIN_DIALOG_DATE; @@ -30828,6 +30829,13 @@ void MessagesManager::update_list_last_pinned_dialog_date(DialogList &list, bool LOG(INFO) << "Update last pinned dialog date in " << list.dialog_list_id << " from " << list.last_pinned_dialog_date_ << " to " << max_dialog_date; list.last_pinned_dialog_date_ = max_dialog_date; + return true; + } + return false; +} + +void MessagesManager::update_list_last_pinned_dialog_date(DialogList &list, bool only_update) { + if (do_update_list_last_pinned_dialog_date(list)) { update_list_last_dialog_date(list, only_update); } } @@ -30848,7 +30856,8 @@ void MessagesManager::update_list_last_dialog_date(DialogList &list, bool only_u LOG(INFO) << "Update last dialog date in " << list.dialog_list_id << " from " << old_last_dialog_date << " to " << new_last_dialog_date; LOG_CHECK(old_last_dialog_date < new_last_dialog_date) - << list.dialog_list_id << " " << old_last_dialog_date << " " << list.last_pinned_dialog_date_ << " " + << list.dialog_list_id << " " << old_last_dialog_date << " " << new_last_dialog_date << " " + << get_dialog_list_folder_ids(list) << " " << list.last_pinned_dialog_date_ << " " << get_dialog_folder(FolderId::main())->folder_last_dialog_date_ << " " << get_dialog_folder(FolderId::archive())->folder_last_dialog_date_ << " " << list.load_list_queries_.size() << " " << list.pinned_dialogs_; diff --git a/td/telegram/MessagesManager.h b/td/telegram/MessagesManager.h index 628ca331b..b8ba44139 100644 --- a/td/telegram/MessagesManager.h +++ b/td/telegram/MessagesManager.h @@ -2543,6 +2543,8 @@ class MessagesManager : public Actor { void update_last_dialog_date(FolderId folder_id); + bool do_update_list_last_pinned_dialog_date(DialogList &list) const; + void update_list_last_pinned_dialog_date(DialogList &list, bool only_update = false); void update_list_last_dialog_date(DialogList &list, bool only_update = false);