From c4dab736c9aca9abc5851a1c192657e6ec65a496 Mon Sep 17 00:00:00 2001 From: levlam Date: Fri, 11 Jun 2021 02:13:46 +0300 Subject: [PATCH] Add suggestedActionCheckPhoneNumber support. --- td/telegram/ConfigManager.cpp | 4 ++++ td/telegram/ConfigManager.h | 2 ++ td/telegram/PhoneNumberManager.cpp | 4 ++++ td/telegram/SuggestedAction.cpp | 4 ++++ 4 files changed, 14 insertions(+) diff --git a/td/telegram/ConfigManager.cpp b/td/telegram/ConfigManager.cpp index 8ad4ca30a..5759e420f 100644 --- a/td/telegram/ConfigManager.cpp +++ b/td/telegram/ConfigManager.cpp @@ -1074,6 +1074,10 @@ void ConfigManager::do_set_archive_and_mute(bool archive_and_mute) { G()->shared_config().set_option_boolean("archive_and_mute_new_chats_from_unknown_users", archive_and_mute); } +void ConfigManager::hide_suggested_action(SuggestedAction suggested_action) { + remove_suggested_action(suggested_actions_, suggested_action); +} + void ConfigManager::dismiss_suggested_action(SuggestedAction suggested_action, Promise &&promise) { auto action_str = suggested_action.get_suggested_action_str(); if (action_str.empty()) { diff --git a/td/telegram/ConfigManager.h b/td/telegram/ConfigManager.h index d93b9099d..ea3115f05 100644 --- a/td/telegram/ConfigManager.h +++ b/td/telegram/ConfigManager.h @@ -101,6 +101,8 @@ class ConfigManager : public NetQueryCallback { void set_archive_and_mute(bool archive_and_mute, Promise &&promise); + void hide_suggested_action(SuggestedAction suggested_action); + void dismiss_suggested_action(SuggestedAction suggested_action, Promise &&promise); void on_dc_options_update(DcOptions dc_options); diff --git a/td/telegram/PhoneNumberManager.cpp b/td/telegram/PhoneNumberManager.cpp index 368e48f91..507531b6e 100644 --- a/td/telegram/PhoneNumberManager.cpp +++ b/td/telegram/PhoneNumberManager.cpp @@ -6,8 +6,10 @@ // #include "td/telegram/PhoneNumberManager.h" +#include "td/telegram/ConfigManager.h" #include "td/telegram/Global.h" #include "td/telegram/net/NetQueryDispatcher.h" +#include "td/telegram/SuggestedAction.h" #include "td/telegram/Td.h" #include "td/telegram/td_api.h" #include "td/telegram/telegram_api.h" @@ -48,6 +50,8 @@ void PhoneNumberManager::set_phone_number(uint64 query_id, string phone_number, switch (type_) { case Type::ChangePhone: + send_closure(G()->config_manager(), &ConfigManager::hide_suggested_action, + SuggestedAction{SuggestedAction::Type::CheckPhoneNumber}); return process_send_code_result(query_id, send_code_helper_.send_change_phone_code(phone_number, settings)); case Type::VerifyPhone: return process_send_code_result(query_id, send_code_helper_.send_verify_phone_code(phone_number, settings)); diff --git a/td/telegram/SuggestedAction.cpp b/td/telegram/SuggestedAction.cpp index cae588b1f..6f4d3c8e2 100644 --- a/td/telegram/SuggestedAction.cpp +++ b/td/telegram/SuggestedAction.cpp @@ -25,6 +25,8 @@ void SuggestedAction::init(Type type) { SuggestedAction::SuggestedAction(Slice action_str) { if (action_str == Slice("AUTOARCHIVE_POPULAR")) { init(Type::EnableArchiveAndMuteNewChats); + } else if (action_str == Slice("VALIDATE_PHONE_NUMBER")) { + init(Type::CheckPhoneNumber); } else if (action_str == Slice("NEWCOMER_TICKS")) { init(Type::SeeTicksHint); } @@ -70,6 +72,8 @@ string SuggestedAction::get_suggested_action_str() const { switch (type_) { case Type::EnableArchiveAndMuteNewChats: return "AUTOARCHIVE_POPULAR"; + case Type::CheckPhoneNumber: + return "VALIDATE_PHONE_NUMBER"; case Type::SeeTicksHint: return "NEWCOMER_TICKS"; case Type::ConvertToGigagroup: