diff options
| author | levlam <levlam@telegram.org> | 2026-01-08 20:27:07 +0300 |
|---|---|---|
| committer | levlam <levlam@telegram.org> | 2026-01-08 20:27:07 +0300 |
| commit | a96f805cab7105ddd7d5aba0201a2139aaf45049 (patch) | |
| tree | 281078ca3e7919310e654ba8e52a105524342d7a | |
| parent | abf1f4a3b14b38a5aa138eb04919bde82f29e6e0 (diff) | |
Add td_api::settingsSectionPrivacyPolicy.
| -rw-r--r-- | td/generate/scheme/td_api.tl | 5 | ||||
| -rw-r--r-- | td/telegram/LinkManager.cpp | 5 | ||||
| -rw-r--r-- | test/link.cpp | 7 |
3 files changed, 16 insertions, 1 deletions
diff --git a/td/generate/scheme/td_api.tl b/td/generate/scheme/td_api.tl index ff1c2e5b6..16b5c4c1a 100644 --- a/td/generate/scheme/td_api.tl +++ b/td/generate/scheme/td_api.tl @@ -8362,7 +8362,7 @@ settingsSectionMyToncoins = SettingsSection; //-"pinned-messages", "reset", "web" settingsSectionNotifications subsection:string = SettingsSection; -//@description The Premium subscription section +//@description The "Telegram Premium" section settingsSectionPremium = SettingsSection; //@description The privacy and security section @subsection Subsection of the section if any; may be one of @@ -8385,6 +8385,9 @@ settingsSectionPremium = SettingsSection; //-"data-settings/bot-settings", "data-settings/map-provider", "archive-and-mute" settingsSectionPrivacyAndSecurity subsection:string = SettingsSection; +//@description The "Privacy Policy" section +settingsSectionPrivacyPolicy = 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 a66026210..c82986875 100644 --- a/td/telegram/LinkManager.cpp +++ b/td/telegram/LinkManager.cpp @@ -1074,6 +1074,9 @@ class LinkManager::InternalLinkSettings final : public InternalLink { } return td_api::make_object<td_api::settingsSectionPrivacyAndSecurity>(); } + if (path_[0] == "privacy-policy") { + return td_api::make_object<td_api::settingsSectionPrivacyPolicy>(); + } if (path_[0] == "stars") { return td_api::make_object<td_api::settingsSectionMyStars>(); } @@ -3166,6 +3169,8 @@ Result<string> LinkManager::get_internal_link_impl(const td_api::InternalLinkTyp } return "tg://settings/privacy"; } + case td_api::settingsSectionPrivacyPolicy::ID: + return "tg://settings/privacy-policy"; default: UNREACHABLE(); return ""; diff --git a/test/link.cpp b/test/link.cpp index 2455c1ef1..62fcdf368 100644 --- a/test/link.cpp +++ b/test/link.cpp @@ -235,6 +235,10 @@ static auto privacy_and_security_settings(td::string subsection = td::string()) return settings(td::td_api::make_object<td::td_api::settingsSectionPrivacyAndSecurity>(subsection)); } +static auto privacy_policy() { + return settings(td::td_api::make_object<td::td_api::settingsSectionPrivacyPolicy>()); +} + 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)); @@ -1807,6 +1811,9 @@ TEST(Link, parse_internal_link_part4) { parse_internal_link("tg://features", unknown_deep_link("tg://features")); parse_internal_link("tg://settings/features", features()); + 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://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, "")); |
