Rename ordered_server_dialogs_ to ordered_dialogs_.
GitOrigin-RevId: e2e14b2438bd434e3cbae9ca7605296b4c55b6c7
This commit is contained in:
parent
1130708995
commit
186a3d133a
@ -9849,7 +9849,7 @@ void MessagesManager::repair_secret_chat_total_count(FolderId folder_id) {
|
|||||||
} else {
|
} else {
|
||||||
int32 total_count = 0;
|
int32 total_count = 0;
|
||||||
auto &list = get_dialog_list(folder_id);
|
auto &list = get_dialog_list(folder_id);
|
||||||
for (const auto &dialog_date : list.ordered_server_dialogs_) {
|
for (const auto &dialog_date : list.ordered_dialogs_) {
|
||||||
auto dialog_id = dialog_date.get_dialog_id();
|
auto dialog_id = dialog_date.get_dialog_id();
|
||||||
if (dialog_id.get_type() == DialogType::SecretChat && dialog_date.get_order() != DEFAULT_ORDER) {
|
if (dialog_id.get_type() == DialogType::SecretChat && dialog_date.get_order() != DEFAULT_ORDER) {
|
||||||
total_count++;
|
total_count++;
|
||||||
@ -9898,7 +9898,7 @@ void MessagesManager::recalc_unread_count(FolderId folder_id) {
|
|||||||
int32 dialog_muted_marked_count = 0;
|
int32 dialog_muted_marked_count = 0;
|
||||||
int32 server_dialog_total_count = 0;
|
int32 server_dialog_total_count = 0;
|
||||||
int32 secret_chat_total_count = 0;
|
int32 secret_chat_total_count = 0;
|
||||||
for (const auto &dialog_date : list.ordered_server_dialogs_) {
|
for (const auto &dialog_date : list.ordered_dialogs_) {
|
||||||
auto dialog_id = dialog_date.get_dialog_id();
|
auto dialog_id = dialog_date.get_dialog_id();
|
||||||
Dialog *d = get_dialog(dialog_id);
|
Dialog *d = get_dialog(dialog_id);
|
||||||
CHECK(d != nullptr);
|
CHECK(d != nullptr);
|
||||||
@ -13386,8 +13386,8 @@ vector<DialogId> MessagesManager::get_dialogs(FolderId folder_id, DialogDate off
|
|||||||
update_last_dialog_date(folder_id);
|
update_last_dialog_date(folder_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto it = list.ordered_server_dialogs_.upper_bound(offset);
|
auto it = list.ordered_dialogs_.upper_bound(offset);
|
||||||
auto end = list.ordered_server_dialogs_.end();
|
auto end = list.ordered_dialogs_.end();
|
||||||
while (it != end && *it <= list.last_dialog_date_ && limit > 0) {
|
while (it != end && *it <= list.last_dialog_date_ && limit > 0) {
|
||||||
auto dialog_id = it->get_dialog_id();
|
auto dialog_id = it->get_dialog_id();
|
||||||
if (get_dialog_pinned_order(&list, dialog_id) == DEFAULT_ORDER) {
|
if (get_dialog_pinned_order(&list, dialog_id) == DEFAULT_ORDER) {
|
||||||
@ -15859,7 +15859,7 @@ vector<DialogId> MessagesManager::get_dialog_notification_settings_exceptions(No
|
|||||||
bool have_all_dialogs = true;
|
bool have_all_dialogs = true;
|
||||||
bool have_main_list = false;
|
bool have_main_list = false;
|
||||||
bool have_archive_list = false;
|
bool have_archive_list = false;
|
||||||
for (auto &list : dialog_lists_) {
|
for (const auto &list : dialog_lists_) {
|
||||||
if (list.second.last_dialog_date_ != MAX_DIALOG_DATE) {
|
if (list.second.last_dialog_date_ != MAX_DIALOG_DATE) {
|
||||||
have_all_dialogs = false;
|
have_all_dialogs = false;
|
||||||
}
|
}
|
||||||
@ -15873,8 +15873,8 @@ vector<DialogId> MessagesManager::get_dialog_notification_settings_exceptions(No
|
|||||||
if (have_all_dialogs || force) {
|
if (have_all_dialogs || force) {
|
||||||
vector<DialogDate> ordered_dialogs;
|
vector<DialogDate> ordered_dialogs;
|
||||||
auto my_dialog_id = get_my_dialog_id();
|
auto my_dialog_id = get_my_dialog_id();
|
||||||
for (auto &list : dialog_lists_) {
|
for (const auto &list : dialog_lists_) {
|
||||||
for (const auto &it : list.second.ordered_server_dialogs_) {
|
for (const auto &it : list.second.ordered_dialogs_) {
|
||||||
auto dialog_id = it.get_dialog_id();
|
auto dialog_id = it.get_dialog_id();
|
||||||
if (filter_scope && get_dialog_notification_setting_scope(dialog_id) != scope) {
|
if (filter_scope && get_dialog_notification_setting_scope(dialog_id) != scope) {
|
||||||
continue;
|
continue;
|
||||||
@ -15910,7 +15910,7 @@ vector<DialogId> MessagesManager::get_dialog_notification_settings_exceptions(No
|
|||||||
|
|
||||||
load_dialog_list(FolderId::main(), MAX_GET_DIALOGS, true, Auto());
|
load_dialog_list(FolderId::main(), MAX_GET_DIALOGS, true, Auto());
|
||||||
load_dialog_list(FolderId::archive(), MAX_GET_DIALOGS, true, Auto());
|
load_dialog_list(FolderId::archive(), MAX_GET_DIALOGS, true, Auto());
|
||||||
for (auto &list : dialog_lists_) {
|
for (const auto &list : dialog_lists_) {
|
||||||
if (list.first != FolderId::main() && list.first != FolderId::archive()) {
|
if (list.first != FolderId::main() && list.first != FolderId::archive()) {
|
||||||
load_dialog_list(list.first, MAX_GET_DIALOGS, true, Auto());
|
load_dialog_list(list.first, MAX_GET_DIALOGS, true, Auto());
|
||||||
}
|
}
|
||||||
@ -28754,7 +28754,7 @@ bool MessagesManager::set_dialog_order(Dialog *d, int64 new_order, bool need_sen
|
|||||||
if (old_date == new_date) {
|
if (old_date == new_date) {
|
||||||
if (new_order == DEFAULT_ORDER) {
|
if (new_order == DEFAULT_ORDER) {
|
||||||
// first addition of a new left dialog
|
// first addition of a new left dialog
|
||||||
list.ordered_server_dialogs_.insert(new_date);
|
list.ordered_dialogs_.insert(new_date);
|
||||||
}
|
}
|
||||||
LOG(INFO) << "Chat order is not changed: " << new_order << " from " << source;
|
LOG(INFO) << "Chat order is not changed: " << new_order << " from " << source;
|
||||||
return false;
|
return false;
|
||||||
@ -28762,11 +28762,11 @@ bool MessagesManager::set_dialog_order(Dialog *d, int64 new_order, bool need_sen
|
|||||||
LOG(INFO) << "Update order of " << dialog_id << " from " << d->order << " to " << new_order << " from " << source;
|
LOG(INFO) << "Update order of " << dialog_id << " from " << d->order << " to " << new_order << " from " << source;
|
||||||
|
|
||||||
auto old_public_order = get_dialog_public_order(&list, d);
|
auto old_public_order = get_dialog_public_order(&list, d);
|
||||||
if (list.ordered_server_dialogs_.erase(old_date) == 0) {
|
if (list.ordered_dialogs_.erase(old_date) == 0) {
|
||||||
LOG_IF(ERROR, d->order != DEFAULT_ORDER) << dialog_id << " not found in the chat list from " << source;
|
LOG_IF(ERROR, d->order != DEFAULT_ORDER) << dialog_id << " not found in the chat list from " << source;
|
||||||
}
|
}
|
||||||
|
|
||||||
list.ordered_server_dialogs_.insert(new_date);
|
list.ordered_dialogs_.insert(new_date);
|
||||||
|
|
||||||
bool add_to_hints = (d->order == DEFAULT_ORDER);
|
bool add_to_hints = (d->order == DEFAULT_ORDER);
|
||||||
bool was_sponsored = is_dialog_sponsored(d);
|
bool was_sponsored = is_dialog_sponsored(d);
|
||||||
@ -28807,7 +28807,7 @@ bool MessagesManager::set_dialog_order(Dialog *d, int64 new_order, bool need_sen
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool need_update_unread_chat_count = old_dialog_total_count != get_dialog_total_count(list);
|
bool need_update_unread_chat_count = old_dialog_total_count != get_dialog_total_count(list);
|
||||||
CHECK(static_cast<size_t>(list.in_memory_dialog_total_count_) <= list.ordered_server_dialogs_.size());
|
CHECK(static_cast<size_t>(list.in_memory_dialog_total_count_) <= list.ordered_dialogs_.size());
|
||||||
|
|
||||||
if (!is_loaded_from_database && had_unread_counter != has_unread_counter && !td_->auth_manager_->is_bot()) {
|
if (!is_loaded_from_database && had_unread_counter != has_unread_counter && !td_->auth_manager_->is_bot()) {
|
||||||
auto unread_count = d->server_unread_count + d->local_unread_count;
|
auto unread_count = d->server_unread_count + d->local_unread_count;
|
||||||
@ -28920,7 +28920,7 @@ void MessagesManager::update_last_dialog_date(FolderId folder_id) {
|
|||||||
|
|
||||||
LOG(INFO) << "Update last dialog date in " << folder_id << " from " << old_last_dialog_date << " to "
|
LOG(INFO) << "Update last dialog date in " << folder_id << " from " << old_last_dialog_date << " to "
|
||||||
<< list.last_dialog_date_;
|
<< list.last_dialog_date_;
|
||||||
LOG(INFO) << "Know about " << list.ordered_server_dialogs_.size() << " chats";
|
LOG(INFO) << "Know about " << list.ordered_dialogs_.size() << " chats";
|
||||||
|
|
||||||
if (old_last_dialog_date != list.last_dialog_date_) {
|
if (old_last_dialog_date != list.last_dialog_date_) {
|
||||||
for (auto it = std::upper_bound(list.pinned_dialogs_.begin(), list.pinned_dialogs_.end(), old_last_dialog_date);
|
for (auto it = std::upper_bound(list.pinned_dialogs_.begin(), list.pinned_dialogs_.end(), old_last_dialog_date);
|
||||||
@ -28933,8 +28933,8 @@ void MessagesManager::update_last_dialog_date(FolderId folder_id) {
|
|||||||
make_tl_object<td_api::updateChatIsPinned>(d->dialog_id.get(), true, get_dialog_public_order(folder_id, d)));
|
make_tl_object<td_api::updateChatIsPinned>(d->dialog_id.get(), true, get_dialog_public_order(folder_id, d)));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (auto it = list.ordered_server_dialogs_.upper_bound(old_last_dialog_date);
|
for (auto it = list.ordered_dialogs_.upper_bound(old_last_dialog_date);
|
||||||
it != list.ordered_server_dialogs_.end() && *it <= list.last_dialog_date_; ++it) {
|
it != list.ordered_dialogs_.end() && *it <= list.last_dialog_date_; ++it) {
|
||||||
auto dialog_id = it->get_dialog_id();
|
auto dialog_id = it->get_dialog_id();
|
||||||
auto d = get_dialog(dialog_id);
|
auto d = get_dialog(dialog_id);
|
||||||
CHECK(d != nullptr);
|
CHECK(d != nullptr);
|
||||||
@ -31053,7 +31053,7 @@ td_api::object_ptr<td_api::updateUnreadChatCount> MessagesManager::get_update_un
|
|||||||
void MessagesManager::get_current_state(vector<td_api::object_ptr<td_api::Update>> &updates) const {
|
void MessagesManager::get_current_state(vector<td_api::object_ptr<td_api::Update>> &updates) const {
|
||||||
if (!td_->auth_manager_->is_bot()) {
|
if (!td_->auth_manager_->is_bot()) {
|
||||||
if (G()->parameters().use_message_db) {
|
if (G()->parameters().use_message_db) {
|
||||||
for (auto &it : dialog_lists_) {
|
for (const auto &it : dialog_lists_) {
|
||||||
auto &list = it.second;
|
auto &list = it.second;
|
||||||
if (list.is_message_unread_count_inited_) {
|
if (list.is_message_unread_count_inited_) {
|
||||||
updates.push_back(get_update_unread_message_count_object(list));
|
updates.push_back(get_update_unread_message_count_object(list));
|
||||||
|
@ -1231,11 +1231,10 @@ class MessagesManager : public Actor {
|
|||||||
|
|
||||||
std::vector<DialogDate> pinned_dialogs_;
|
std::vector<DialogDate> pinned_dialogs_;
|
||||||
|
|
||||||
// date of the last dialog in loaded the dialog list prefix
|
// date of the last loaded dialog in the folder
|
||||||
DialogDate last_dialog_date_ = MIN_DIALOG_DATE; // in memory
|
DialogDate last_dialog_date_ = MIN_DIALOG_DATE; // in memory
|
||||||
std::set<DialogDate> ordered_dialogs_; // all dialogs with date <= last_dialog_date_
|
|
||||||
|
|
||||||
std::set<DialogDate> ordered_server_dialogs_; // all known dialogs, including with default order
|
std::set<DialogDate> ordered_dialogs_; // all known dialogs, including with default order
|
||||||
|
|
||||||
// date of last known user/group/channel dialog in the right order
|
// date of last known user/group/channel dialog in the right order
|
||||||
DialogDate last_server_dialog_date_ = MIN_DIALOG_DATE;
|
DialogDate last_server_dialog_date_ = MIN_DIALOG_DATE;
|
||||||
@ -1243,7 +1242,7 @@ class MessagesManager : public Actor {
|
|||||||
DialogDate last_database_server_dialog_date_ = MIN_DIALOG_DATE;
|
DialogDate last_database_server_dialog_date_ = MIN_DIALOG_DATE;
|
||||||
|
|
||||||
MultiPromiseActor load_dialog_list_multipromise_{
|
MultiPromiseActor load_dialog_list_multipromise_{
|
||||||
"LoadDialogListMultiPromiseActor"}; // should be defined before pending_on_get_dialogs_
|
"LoadDialogListMultiPromiseActor"}; // must be defined before pending_on_get_dialogs_
|
||||||
int32 load_dialog_list_limit_max_ = 0;
|
int32 load_dialog_list_limit_max_ = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user