diff --git a/platform/servers_list.cpp b/platform/servers_list.cpp index d71ba5275e..7650a82261 100644 --- a/platform/servers_list.cpp +++ b/platform/servers_list.cpp @@ -2,6 +2,7 @@ #include "platform/http_request.hpp" #include "platform/platform.hpp" +#include "platform/settings.hpp" #include "base/logging.hpp" #include "base/assert.hpp" @@ -38,9 +39,12 @@ std::optional ParseMetaConfig(std::string const & jsonStr) const json_t * value; json_object_foreach(settings, key, value) { - const char * valueStr = json_string_value(value); - if (key && value) - outMetaConfig.m_settings[key] = valueStr; + if (key == settings::kDonateUrl || key == settings::kNY) + { + const char * valueStr = json_string_value(value); + if (value) + outMetaConfig.m_settings[key] = valueStr; + } } servers = json_object_get(root.get(), kServers); diff --git a/platform/settings.cpp b/platform/settings.cpp index 0036adc124..15fd389109 100644 --- a/platform/settings.cpp +++ b/platform/settings.cpp @@ -23,8 +23,9 @@ using namespace std; std::string_view kMeasurementUnits = "Units"; std::string_view kMapLanguageCode = "MapLanguageCode"; std::string_view kDeveloperMode = "DeveloperMode"; -std::string_view kDonateUrl = "DonateUrl"; std::string_view kNightMode = "NightMode"; +std::string_view kDonateUrl = "DonateUrl"; +std::string_view kNY = "NY"; StringStorage::StringStorage() : StringStorageBase(GetPlatform().SettingsPathForFile(SETTINGS_FILE_NAME)) {} diff --git a/platform/settings.hpp b/platform/settings.hpp index 41f0a357b3..fd45e2b7f8 100644 --- a/platform/settings.hpp +++ b/platform/settings.hpp @@ -12,8 +12,10 @@ namespace settings extern std::string_view kMeasurementUnits; extern std::string_view kDeveloperMode; extern std::string_view kMapLanguageCode; -extern std::string_view kDonateUrl; extern std::string_view kNightMode; +// The following two settings are configured externally at the metaserver. +extern std::string_view kDonateUrl; +extern std::string_view kNY; template bool FromString(std::string const & str, T & outValue);