Move on_dialog_info_full_invalidated to DialogManager.

This commit is contained in:
levlam 2024-01-04 19:52:31 +03:00
parent a719ed42be
commit c0a0f7de07
6 changed files with 11 additions and 12 deletions

View File

@ -10816,7 +10816,7 @@ void ContactsManager::on_update_phone_number_privacy() {
void ContactsManager::invalidate_user_full(UserId user_id) {
auto user_full = get_user_full_force(user_id);
if (user_full != nullptr) {
td_->messages_manager_->on_dialog_info_full_invalidated(DialogId(user_id));
td_->dialog_manager_->on_dialog_info_full_invalidated(DialogId(user_id));
if (!user_full->is_expired()) {
user_full->expires_at = 0.0;
@ -15912,7 +15912,7 @@ void ContactsManager::invalidate_channel_full(ChannelId channel_id, bool need_dr
void ContactsManager::do_invalidate_channel_full(ChannelFull *channel_full, ChannelId channel_id,
bool need_drop_slow_mode_delay) {
CHECK(channel_full != nullptr);
td_->messages_manager_->on_dialog_info_full_invalidated(DialogId(channel_id));
td_->dialog_manager_->on_dialog_info_full_invalidated(DialogId(channel_id));
if (channel_full->expires_at >= Time::now()) {
channel_full->expires_at = 0.0;
channel_full->need_save_to_database = true;

View File

@ -298,6 +298,12 @@ void DialogManager::reload_dialog_info_full(DialogId dialog_id, const char *sour
}
}
void DialogManager::on_dialog_info_full_invalidated(DialogId dialog_id) {
if (td_->messages_manager_->is_dialog_opened(dialog_id)) {
reload_dialog_info_full(dialog_id, "on_dialog_info_full_invalidated");
}
}
int64 DialogManager::get_chat_id_object(DialogId dialog_id, const char *source) const {
return td_->messages_manager_->get_chat_id_object(dialog_id, source);
}

View File

@ -72,6 +72,8 @@ class DialogManager final : public Actor {
void reload_dialog_info_full(DialogId dialog_id, const char *source);
void on_dialog_info_full_invalidated(DialogId dialog_id);
int64 get_chat_id_object(DialogId dialog_id, const char *source) const;
vector<int64> get_chat_ids_object(const vector<DialogId> &dialog_ids, const char *source) const;

View File

@ -17824,13 +17824,6 @@ void MessagesManager::reload_dialog_notification_settings(DialogId dialog_id, Pr
}
}
void MessagesManager::on_dialog_info_full_invalidated(DialogId dialog_id) {
Dialog *d = get_dialog(dialog_id);
if (d != nullptr && d->open_count > 0) {
td_->dialog_manager_->reload_dialog_info_full(dialog_id, "on_dialog_info_full_invalidated");
}
}
MessageId MessagesManager::get_dialog_pinned_message(DialogId dialog_id, Promise<Unit> &&promise) {
Dialog *d = get_dialog_force(dialog_id, "get_dialog_pinned_message");
if (d == nullptr) {

View File

@ -550,8 +550,6 @@ class MessagesManager final : public Actor {
void reload_dialog_notification_settings(DialogId dialog_id, Promise<Unit> &&promise, const char *source);
void on_dialog_info_full_invalidated(DialogId dialog_id);
bool load_dialog(DialogId dialog_id, int left_tries, Promise<Unit> &&promise);
void load_dialogs(vector<DialogId> dialog_ids, Promise<vector<DialogId>> &&promise);

View File

@ -3463,7 +3463,7 @@ void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateServiceNotifica
}
void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateChat> update, Promise<Unit> &&promise) {
td_->messages_manager_->on_dialog_info_full_invalidated(DialogId(ChatId(update->chat_id_)));
td_->dialog_manager_->on_dialog_info_full_invalidated(DialogId(ChatId(update->chat_id_)));
promise.set_value(Unit());
}