From 1a3789e88d296daa12ca24851f8d3dd9621e6334 Mon Sep 17 00:00:00 2001 From: levlam Date: Wed, 28 Dec 2022 17:58:17 +0300 Subject: [PATCH] Add internalLinkTypeDefaultMessageAutoDeleteTimerSettings. --- td/generate/scheme/td_api.tl | 3 +++ td/telegram/LinkManager.cpp | 10 ++++++++++ td/telegram/LinkManager.h | 1 + test/link.cpp | 4 ++++ 4 files changed, 18 insertions(+) diff --git a/td/generate/scheme/td_api.tl b/td/generate/scheme/td_api.tl index a024cb9bc..dee837b27 100644 --- a/td/generate/scheme/td_api.tl +++ b/td/generate/scheme/td_api.tl @@ -4435,6 +4435,9 @@ internalLinkTypeChangePhoneNumber = InternalLinkType; //@description The link is a chat invite link. Call checkChatInviteLink with the given invite link to process the link @invite_link Internal representation of the invite link internalLinkTypeChatInvite invite_link:string = InternalLinkType; +//@description The link is a link to the default message auto-delete timer settings section of the app +internalLinkTypeDefaultMessageAutoDeleteTimerSettings = InternalLinkType; + //@description The link is a link to the filter settings section of the app internalLinkTypeFilterSettings = InternalLinkType; diff --git a/td/telegram/LinkManager.cpp b/td/telegram/LinkManager.cpp index e584ac439..5bc4faa42 100644 --- a/td/telegram/LinkManager.cpp +++ b/td/telegram/LinkManager.cpp @@ -285,6 +285,12 @@ class LinkManager::InternalLinkConfirmPhone final : public InternalLink { } }; +class LinkManager::InternalLinkDefaultMessageAutoDeleteTimerSettings final : public InternalLink { + td_api::object_ptr get_internal_link_type_object() const final { + return td_api::make_object(); + } +}; + class LinkManager::InternalLinkDialogInvite final : public InternalLink { string url_; @@ -1122,6 +1128,10 @@ unique_ptr LinkManager::parse_tg_link_query(Slice que // premium_offer?ref= return td::make_unique(get_arg("ref")); } else if (!path.empty() && path[0] == "settings") { + if (path.size() == 2 && path[1] == "auto_delete") { + // settings/auto_delete + return td::make_unique(); + } if (path.size() == 2 && path[1] == "change_number") { // settings/change_number return td::make_unique(); diff --git a/td/telegram/LinkManager.h b/td/telegram/LinkManager.h index 2746f83fb..3113ade6f 100644 --- a/td/telegram/LinkManager.h +++ b/td/telegram/LinkManager.h @@ -110,6 +110,7 @@ class LinkManager final : public Actor { class InternalLinkBotStartInGroup; class InternalLinkChangePhoneNumber; class InternalLinkConfirmPhone; + class InternalLinkDefaultMessageAutoDeleteTimerSettings; class InternalLinkDialogInvite; class InternalLinkFilterSettings; class InternalLinkGame; diff --git a/test/link.cpp b/test/link.cpp index be11adc8a..7d4ca29c4 100644 --- a/test/link.cpp +++ b/test/link.cpp @@ -153,6 +153,9 @@ TEST(Link, parse_internal_link) { auto chat_invite = [](const td::string &hash) { return td::td_api::make_object("tg:join?invite=" + hash); }; + auto default_message_auto_delete_timer_settings = [] { + return td::td_api::make_object(); + }; auto filter_settings = [] { return td::td_api::make_object(); }; @@ -966,6 +969,7 @@ TEST(Link, parse_internal_link) { parse_internal_link("tg://settings/themes/?as#rad", theme_settings()); parse_internal_link("tg://settings/themes/a", settings()); parse_internal_link("tg://settings/asdsathemesasdas/devices", settings()); + parse_internal_link("tg://settings/auto_delete", default_message_auto_delete_timer_settings()); parse_internal_link("tg://settings/devices", active_sessions()); parse_internal_link("tg://settings/change_number", change_phone_number()); parse_internal_link("tg://settings/folders", filter_settings());