Add and use RepliedMessageInfo::get_file_ids.

This commit is contained in:
levlam 2023-10-27 01:50:32 +03:00
parent d8430c5681
commit 10e2decf4b
4 changed files with 15 additions and 1 deletions

View File

@ -6845,6 +6845,7 @@ FileId get_message_content_thumbnail_file_id(const MessageContent *content, cons
}
vector<FileId> get_message_content_file_ids(const MessageContent *content, const Td *td) {
CHECK(content != nullptr);
switch (content->get_type()) {
case MessageContentType::Photo:
return photo_get_file_ids(static_cast<const MessagePhoto *>(content)->photo);

View File

@ -24549,7 +24549,11 @@ MessageInputReplyTo MessagesManager::get_message_input_reply_to(const Message *m
vector<FileId> MessagesManager::get_message_file_ids(const Message *m) const {
CHECK(m != nullptr);
return get_message_content_file_ids(m->content.get(), td_);
auto file_ids = get_message_content_file_ids(m->content.get(), td_);
if (!m->replied_message_info.is_empty()) {
append(file_ids, m->replied_message_info.get_file_ids(td_));
}
return file_ids;
}
void MessagesManager::cancel_upload_message_content_files(const MessageContent *content) {

View File

@ -218,6 +218,13 @@ bool RepliedMessageInfo::need_reply_changed_warning(
return true;
}
vector<FileId> RepliedMessageInfo::get_file_ids(Td *td) const {
if (content_ != nullptr) {
return get_message_content_file_ids(content_.get(), td);
}
return {};
}
vector<UserId> RepliedMessageInfo::get_min_user_ids(Td *td) const {
vector<UserId> user_ids;
if (dialog_id_.get_type() == DialogType::User) {

View File

@ -76,6 +76,8 @@ class RepliedMessageInfo {
const RepliedMessageInfo &old_info, const RepliedMessageInfo &new_info, MessageId old_top_thread_message_id,
bool is_yet_unsent, std::function<bool(const RepliedMessageInfo &info)> is_reply_to_deleted_message);
vector<FileId> get_file_ids(Td *td) const;
vector<UserId> get_min_user_ids(Td *td) const;
vector<ChannelId> get_min_channel_ids(Td *td) const;