From 1b0c7d889d9f075afa7819507a0dd3ce0040e3d0 Mon Sep 17 00:00:00 2001 From: levlam Date: Mon, 8 Oct 2018 17:13:09 +0300 Subject: [PATCH] Add MessagesManager::get_my_dialog_id. GitOrigin-RevId: 2e1e88a171a5ad86186136ef2d6f49d725ce5d09 --- td/telegram/MessagesManager.cpp | 38 +++++++++++++++------------------ td/telegram/MessagesManager.h | 2 ++ 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 94a38a7d..12b48a83 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -5496,8 +5496,7 @@ void MessagesManager::on_message_edited(FullMessageId full_message_id) { if (td_->auth_manager_->is_bot()) { send_update_message_edited(dialog_id, m); } else { - if (m->forward_info == nullptr && - (m->is_outgoing || dialog_id == DialogId(td_->contacts_manager_->get_my_id("on_message_edited")))) { + if (m->forward_info == nullptr && (m->is_outgoing || dialog_id == get_my_dialog_id())) { update_used_hashtags(dialog_id, m); } } @@ -7069,7 +7068,7 @@ bool MessagesManager::can_revoke_message(DialogId dialog_id, const Message *m) c if (m->message_id.is_local()) { return false; } - if (dialog_id == DialogId(td_->contacts_manager_->get_my_id("can_revoke_message"))) { + if (dialog_id == get_my_dialog_id()) { return false; } if (m->message_id.is_yet_unsent()) { @@ -7974,7 +7973,7 @@ void MessagesManager::read_history_inbox(DialogId dialog_id, MessageId max_messa ttl_read_history(d, false, max_message_id, d->last_read_inbox_message_id, Time::now()); } - bool is_saved_messages = dialog_id == DialogId(td_->contacts_manager_->get_my_id("read_history_inbox")); + bool is_saved_messages = dialog_id == get_my_dialog_id(); int32 server_unread_count = is_saved_messages ? 0 : calc_new_unread_count(d, max_message_id, MessageType::Server, unread_count); int32 local_unread_count = d->local_unread_count == 0 || is_saved_messages @@ -8293,9 +8292,7 @@ FullMessageId MessagesManager::get_full_message_id(const tl_object_ptrcontacts_manager_->get_my_id("get_full_message_id"); - DialogId my_dialog_id = DialogId(my_id); - if (dialog_id == my_dialog_id) { + if (dialog_id == get_my_dialog_id()) { LOG_IF(ERROR, !sender_user_id.is_valid()) << "Receive invalid " << sender_user_id; dialog_id = DialogId(sender_user_id); } @@ -9123,7 +9120,7 @@ void MessagesManager::finish_add_secret_message(unique_ptr } void MessagesManager::fix_message_info_dialog_id(MessageInfo &message_info) const { - if (message_info.dialog_id != DialogId(td_->contacts_manager_->get_my_id("fix_message_info_dialog_id"))) { + if (message_info.dialog_id != get_my_dialog_id()) { return; } @@ -9392,8 +9389,6 @@ FullMessageId MessagesManager::on_get_message(MessageInfo &&message_info, bool f } MessageId message_id = new_message->message_id; - DialogId my_dialog_id = DialogId(td_->contacts_manager_->get_my_id("on_get_message")); - new_message->have_previous = have_previous; new_message->have_next = have_next; @@ -9422,7 +9417,7 @@ FullMessageId MessagesManager::on_get_message(MessageInfo &&message_info, bool f update_message_ids_.erase(it); - if (!new_message->is_outgoing && dialog_id != my_dialog_id) { + if (!new_message->is_outgoing && dialog_id != get_my_dialog_id()) { // sent message is not from me LOG(ERROR) << "Sent in " << dialog_id << " " << message_id << " is sent by " << new_message->sender_user_id; return FullMessageId(); @@ -10355,8 +10350,8 @@ unique_ptr MessagesManager::do_delete_message(Dialog * } // if last_read_inbox_message_id is not known, we can't be sure whether unread_count should be decreased or not if (!result->is_outgoing && message_id.get() > d->last_read_inbox_message_id.get() && - d->dialog_id != DialogId(td_->contacts_manager_->get_my_id("do_delete_message")) && - d->is_last_read_inbox_message_id_inited && !td_->auth_manager_->is_bot()) { + d->dialog_id != get_my_dialog_id() && d->is_last_read_inbox_message_id_inited && + !td_->auth_manager_->is_bot()) { int32 server_unread_count = d->server_unread_count; int32 local_unread_count = d->local_unread_count; int32 &unread_count = message_id.is_server() ? server_unread_count : local_unread_count; @@ -11959,6 +11954,10 @@ Status MessagesManager::close_dialog(DialogId dialog_id) { return Status::OK(); } +DialogId MessagesManager::get_my_dialog_id() const { + return DialogId(td_->contacts_manager_->get_my_id("get_my_dialog_id")); +} + Status MessagesManager::view_messages(DialogId dialog_id, const vector &message_ids, bool force_read) { Dialog *d = get_dialog_force(dialog_id); if (d == nullptr) { @@ -13957,7 +13956,7 @@ tl_object_ptr MessagesManager::get_message_object(DialogId dial can_delete = can_delete_channel_message(dialog_status, message, is_bot); } - DialogId my_dialog_id(td_->contacts_manager_->get_my_id("get_message_object")); + DialogId my_dialog_id = get_my_dialog_id(); bool can_delete_for_self = false; bool can_delete_for_all_users = can_delete && can_revoke_message(dialog_id, message); if (can_delete) { @@ -16288,10 +16287,9 @@ bool MessagesManager::can_set_game_score(DialogId dialog_id, const Message *m) c return false; } - DialogId my_dialog_id(td_->contacts_manager_->get_my_id("can_set_game_score")); switch (dialog_id.get_type()) { case DialogType::User: - if (!m->is_outgoing && dialog_id != my_dialog_id) { + if (!m->is_outgoing && dialog_id != get_my_dialog_id()) { return false; } break; @@ -17212,9 +17210,8 @@ void MessagesManager::send_update_new_message(Dialog *d, const Message *m, bool LOG(INFO) << "Trying to " << (force ? "forcely " : "") << "send updateNewMessage for " << m->message_id << " in " << d->dialog_id; - DialogId my_dialog_id(td_->contacts_manager_->get_my_id("send_update_new_message")); bool disable_notification = - m->disable_notification || m->is_outgoing || d->dialog_id == my_dialog_id || td_->auth_manager_->is_bot(); + m->disable_notification || m->is_outgoing || d->dialog_id == get_my_dialog_id() || td_->auth_manager_->is_bot(); if (m->message_id.get() <= d->last_read_inbox_message_id.get()) { LOG(INFO) << "Disable notification for read " << m->message_id << " in " << d->dialog_id; disable_notification = true; @@ -20463,8 +20460,7 @@ void MessagesManager::update_message(Dialog *d, unique_ptr &old_message bool is_changed = false; if (old_message->date != new_message->date) { if (new_message->date > 0) { - LOG_IF(ERROR, - !new_message->is_outgoing && dialog_id != DialogId(td_->contacts_manager_->get_my_id("update_message"))) + LOG_IF(ERROR, !new_message->is_outgoing && dialog_id != get_my_dialog_id()) << "Date has changed for incoming " << message_id << " in " << dialog_id << " from " << old_message->date << " to " << new_message->date; CHECK(old_message->date > 0); @@ -20864,7 +20860,7 @@ MessagesManager::Dialog *MessagesManager::add_new_dialog(unique_ptr &&d, auto dialog_id = d->dialog_id; switch (dialog_id.get_type()) { case DialogType::User: - if (dialog_id.get_user_id() == td_->contacts_manager_->get_my_id("add_new_dialog")) { + if (dialog_id == get_my_dialog_id()) { d->last_read_inbox_message_id = MessageId::max(); d->is_last_read_inbox_message_id_inited = true; d->last_read_outbox_message_id = MessageId::max(); diff --git a/td/telegram/MessagesManager.h b/td/telegram/MessagesManager.h index 3f0597eb..9d269d31 100644 --- a/td/telegram/MessagesManager.h +++ b/td/telegram/MessagesManager.h @@ -1168,6 +1168,8 @@ class MessagesManager : public Actor { void close_dialog(Dialog *d); + DialogId get_my_dialog_id() const; + void add_secret_message(unique_ptr pending_secret_message, Promise lock_promise = Auto()); void finish_add_secret_message(unique_ptr pending_secret_message);