aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--td/generate/scheme/td_api.tl3
-rw-r--r--td/telegram/LinkManager.cpp5
-rw-r--r--test/link.cpp7
3 files changed, 15 insertions, 0 deletions
diff --git a/td/generate/scheme/td_api.tl b/td/generate/scheme/td_api.tl
index 16b5c4c1a..9b480ccdb 100644
--- a/td/generate/scheme/td_api.tl
+++ b/td/generate/scheme/td_api.tl
@@ -8388,6 +8388,9 @@ settingsSectionPrivacyAndSecurity subsection:string = SettingsSection;
//@description The "Privacy Policy" section
settingsSectionPrivacyPolicy = SettingsSection;
+//@description Search in Settings
+settingsSectionSearch = SettingsSection;
+
//@class InternalLinkType @description Describes an internal https://t.me or tg: link, which must be processed by the application in a special way
diff --git a/td/telegram/LinkManager.cpp b/td/telegram/LinkManager.cpp
index c82986875..06f8203e2 100644
--- a/td/telegram/LinkManager.cpp
+++ b/td/telegram/LinkManager.cpp
@@ -1077,6 +1077,9 @@ class LinkManager::InternalLinkSettings final : public InternalLink {
if (path_[0] == "privacy-policy") {
return td_api::make_object<td_api::settingsSectionPrivacyPolicy>();
}
+ if (path_[0] == "search") {
+ return td_api::make_object<td_api::settingsSectionSearch>();
+ }
if (path_[0] == "stars") {
return td_api::make_object<td_api::settingsSectionMyStars>();
}
@@ -3171,6 +3174,8 @@ Result<string> LinkManager::get_internal_link_impl(const td_api::InternalLinkTyp
}
case td_api::settingsSectionPrivacyPolicy::ID:
return "tg://settings/privacy-policy";
+ case td_api::settingsSectionSearch::ID:
+ return "tg://settings/search";
default:
UNREACHABLE();
return "";
diff --git a/test/link.cpp b/test/link.cpp
index 62fcdf368..477407dcc 100644
--- a/test/link.cpp
+++ b/test/link.cpp
@@ -239,6 +239,10 @@ static auto privacy_policy() {
return settings(td::td_api::make_object<td::td_api::settingsSectionPrivacyPolicy>());
}
+static auto search() {
+ return settings(td::td_api::make_object<td::td_api::settingsSectionSearch>());
+}
+
static auto target_chat_chosen(bool allow_users, bool allow_bots, bool allow_groups, bool allow_channels) {
return td::td_api::make_object<td::td_api::targetChatChosen>(
td::td_api::make_object<td::td_api::targetChatTypes>(allow_users, allow_bots, allow_groups, allow_channels));
@@ -1814,6 +1818,9 @@ TEST(Link, parse_internal_link_part4) {
parse_internal_link("tg://privacy-policy", unknown_deep_link("tg://privacy-policy"));
parse_internal_link("tg://settings/privacy-policy", privacy_policy());
+ parse_internal_link("tg://search", unknown_deep_link("tg://search"));
+ parse_internal_link("tg://settings/search", search());
+
parse_internal_link("tg://stars_topup", unknown_deep_link("tg://stars_topup"));
parse_internal_link("tg://stars_topup?balance=", unknown_deep_link("tg://stars_topup?balance="));
parse_internal_link("tg://stars_topup?balance=test", buy_stars(1, ""));