diff --git a/td/telegram/OptionManager.cpp b/td/telegram/OptionManager.cpp index 4452f25b9..2ad71e848 100644 --- a/td/telegram/OptionManager.cpp +++ b/td/telegram/OptionManager.cpp @@ -13,6 +13,7 @@ #include "td/telegram/ConfigShared.h" #include "td/telegram/ContactsManager.h" #include "td/telegram/DialogId.h" +#include "td/telegram/GitCommitHash.h" #include "td/telegram/Global.h" #include "td/telegram/JsonValue.h" #include "td/telegram/LanguagePackManager.h" @@ -436,12 +437,12 @@ td_api::object_ptr OptionManager::get_option_synchronously( switch (name[0]) { case 'c': if (name == "commit_hash") { - return Td::get_commit_hash_option_value_object(); + return td_api::make_object(get_git_commit_hash()); } break; case 'v': if (name == "version") { - return Td::get_version_option_value_object(); + return td_api::make_object("1.8.4"); } break; } @@ -775,9 +776,8 @@ td_api::object_ptr OptionManager::get_option_value_object(S } void OptionManager::get_current_state(vector> &updates) const { - updates.push_back(td_api::make_object("version", Td::get_version_option_value_object())); - updates.push_back( - td_api::make_object("commit_hash", Td::get_commit_hash_option_value_object())); + updates.push_back(td_api::make_object("version", get_option_synchronously("version"))); + updates.push_back(td_api::make_object("commit_hash", get_option_synchronously("commit_hash"))); updates.push_back(td_api::make_object( "online", td_api::make_object(td_->is_online()))); diff --git a/td/telegram/Td.cpp b/td/telegram/Td.cpp index 8d17923fc..ab90a955c 100644 --- a/td/telegram/Td.cpp +++ b/td/telegram/Td.cpp @@ -52,7 +52,6 @@ #include "td/telegram/FolderId.h" #include "td/telegram/FullMessageId.h" #include "td/telegram/GameManager.h" -#include "td/telegram/GitCommitHash.h" #include "td/telegram/Global.h" #include "td/telegram/GroupCallId.h" #include "td/telegram/GroupCallManager.h" @@ -3060,9 +3059,10 @@ void Td::run_request(uint64 id, tl_object_ptr function) { return send_result(id, get_fake_authorization_state_object()); case td_api::getCurrentState::ID: { vector> updates; - updates.push_back(td_api::make_object("version", get_version_option_value_object())); updates.push_back( - td_api::make_object("commit_hash", get_commit_hash_option_value_object())); + td_api::make_object("version", OptionManager::get_option_synchronously("version"))); + updates.push_back(td_api::make_object( + "commit_hash", OptionManager::get_option_synchronously("commit_hash"))); updates.push_back(td_api::make_object(get_fake_authorization_state_object())); // send response synchronously to prevent "Request aborted" return send_result(id, td_api::make_object(std::move(updates))); @@ -3259,14 +3259,6 @@ void Td::on_connection_state_changed(ConnectionState new_state) { send_closure(actor_id(this), &Td::send_update, get_update_connection_state_object(connection_state_)); } -td_api::object_ptr Td::get_version_option_value_object() { - return td_api::make_object(TDLIB_VERSION); -} - -td_api::object_ptr Td::get_commit_hash_option_value_object() { - return td_api::make_object(get_git_commit_hash()); -} - void Td::start_up() { always_wait_for_mailbox(); @@ -3287,8 +3279,9 @@ void Td::start_up() { alarm_timeout_.set_callback_data(static_cast(this)); CHECK(state_ == State::WaitParameters); - send_update(td_api::make_object("version", get_version_option_value_object())); - send_update(td_api::make_object("commit_hash", get_commit_hash_option_value_object())); + send_update(td_api::make_object("version", OptionManager::get_option_synchronously("version"))); + send_update( + td_api::make_object("commit_hash", OptionManager::get_option_synchronously("commit_hash"))); send_update(td_api::make_object( td_api::make_object())); } @@ -4332,7 +4325,9 @@ Status Td::set_parameters(td_api::object_ptr parameters } if (options_.api_id != 21724) { options_.application_version += ", TDLib "; - options_.application_version += TDLIB_VERSION; + auto version = OptionManager::get_option_synchronously("version"); + CHECK(version->get_id() == td_api::optionValueString::ID); + options_.application_version += static_cast(version.get())->value_; } options_.language_pack = string(); options_.language_code = string(); @@ -8442,6 +8437,4 @@ void Td::on_request(uint64 id, td_api::testCallVectorStringObject &request) { #undef CREATE_REQUEST_PROMISE #undef CREATE_OK_REQUEST_PROMISE -constexpr const char *Td::TDLIB_VERSION; - } // namespace td diff --git a/td/telegram/Td.h b/td/telegram/Td.h index 09473aa74..c25b3ff5e 100644 --- a/td/telegram/Td.h +++ b/td/telegram/Td.h @@ -246,10 +246,6 @@ class Td final : public Actor { static td_api::object_ptr static_request(td_api::object_ptr function); - static td_api::object_ptr get_version_option_value_object(); - - static td_api::object_ptr get_commit_hash_option_value_object(); - private: static constexpr int64 ONLINE_ALARM_ID = 0; static constexpr int64 PING_SERVER_ALARM_ID = -1; @@ -257,8 +253,6 @@ class Td final : public Actor { static constexpr int64 TERMS_OF_SERVICE_ALARM_ID = -2; static constexpr int64 PROMO_DATA_ALARM_ID = -3; - static constexpr const char *TDLIB_VERSION = "1.8.4"; - void on_connection_state_changed(ConnectionState new_state); void run_request(uint64 id, tl_object_ptr function);