From eecec61fa988c02eb2205ee2f7ad1da000a908be Mon Sep 17 00:00:00 2001 From: levlam Date: Tue, 18 Oct 2022 22:52:47 +0300 Subject: [PATCH] Move get_background_url to LinkManager. --- td/telegram/BackgroundManager.cpp | 17 ----------------- td/telegram/BackgroundManager.h | 3 --- td/telegram/LinkManager.cpp | 18 ++++++++++++++++++ td/telegram/LinkManager.h | 3 +++ td/telegram/Td.cpp | 2 +- 5 files changed, 22 insertions(+), 21 deletions(-) diff --git a/td/telegram/BackgroundManager.cpp b/td/telegram/BackgroundManager.cpp index 844d8abb8..1fcf9d280 100644 --- a/td/telegram/BackgroundManager.cpp +++ b/td/telegram/BackgroundManager.cpp @@ -449,23 +449,6 @@ void BackgroundManager::get_backgrounds(bool for_dark_theme, } } -Result BackgroundManager::get_background_url(const string &name, - td_api::object_ptr background_type) { - TRY_RESULT(type, BackgroundType::get_background_type(background_type.get())); - auto url = PSTRING() << G()->get_option_string("t_me_url", "https://t.me/") << "bg/"; - auto link = type.get_link(); - if (type.has_file()) { - url += name; - if (!link.empty()) { - url += '?'; - url += link; - } - } else { - url += link; - } - return url; -} - void BackgroundManager::reload_background_from_server( BackgroundId background_id, const string &background_name, telegram_api::object_ptr &&input_wallpaper, Promise &&promise) const { diff --git a/td/telegram/BackgroundManager.h b/td/telegram/BackgroundManager.h index 996e00442..8ce66a28e 100644 --- a/td/telegram/BackgroundManager.h +++ b/td/telegram/BackgroundManager.h @@ -35,9 +35,6 @@ class BackgroundManager final : public Actor { void get_backgrounds(bool for_dark_theme, Promise> &&promise); - static Result get_background_url(const string &name, - td_api::object_ptr background_type); - void reload_background(BackgroundId background_id, int64 access_hash, Promise &&promise); std::pair search_background(const string &name, Promise &&promise); diff --git a/td/telegram/LinkManager.cpp b/td/telegram/LinkManager.cpp index e7606ef5e..bdc405e51 100644 --- a/td/telegram/LinkManager.cpp +++ b/td/telegram/LinkManager.cpp @@ -7,6 +7,7 @@ #include "td/telegram/LinkManager.h" #include "td/telegram/AccessRights.h" +#include "td/telegram/BackgroundType.h" #include "td/telegram/ChannelId.h" #include "td/telegram/ChannelType.h" #include "td/telegram/ConfigManager.h" @@ -1573,6 +1574,23 @@ void LinkManager::get_link_login_url(const string &url, bool allow_write_access, td_->create_handler(std::move(promise))->send(url, FullMessageId(), 0, allow_write_access); } +Result LinkManager::get_background_url(const string &name, + td_api::object_ptr background_type) { + TRY_RESULT(type, BackgroundType::get_background_type(background_type.get())); + auto url = PSTRING() << G()->get_option_string("t_me_url", "https://t.me/") << "bg/"; + auto link = type.get_link(); + if (type.has_file()) { + url += name; + if (!link.empty()) { + url += '?'; + url += link; + } + } else { + url += link; + } + return url; +} + string LinkManager::get_dialog_invite_link_hash(Slice invite_link) { auto link_info = get_link_info(invite_link); if (link_info.type_ != LinkType::Tg && link_info.type_ != LinkType::TMe) { diff --git a/td/telegram/LinkManager.h b/td/telegram/LinkManager.h index 71b970a7e..77cb7666d 100644 --- a/td/telegram/LinkManager.h +++ b/td/telegram/LinkManager.h @@ -75,6 +75,9 @@ class LinkManager final : public Actor { void get_link_login_url(const string &url, bool allow_write_access, Promise> &&promise); + static Result get_background_url(const string &name, + td_api::object_ptr background_type); + static string get_dialog_invite_link_hash(Slice invite_link); static string get_dialog_invite_link(Slice hash, bool is_internal); diff --git a/td/telegram/Td.cpp b/td/telegram/Td.cpp index bb0dbbcf3..3dcdef956 100644 --- a/td/telegram/Td.cpp +++ b/td/telegram/Td.cpp @@ -7761,7 +7761,7 @@ void Td::on_request(uint64 id, const td_api::getBackgrounds &request) { void Td::on_request(uint64 id, td_api::getBackgroundUrl &request) { CHECK_IS_USER(); CLEAN_INPUT_STRING(request.name_); - Result r_url = background_manager_->get_background_url(request.name_, std::move(request.type_)); + Result r_url = LinkManager::get_background_url(request.name_, std::move(request.type_)); if (r_url.is_error()) { return send_closure(actor_id(this), &Td::send_error, id, r_url.move_as_error()); }