Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorr.kuznetsov <r.kuznetsov@corp.mail.ru>2019-01-29 12:56:51 +0300
committerAleksey Belousov <beloal@users.noreply.github.com>2019-01-30 17:44:06 +0300
commita69b56582a834b6854f785d33bbf2c21a6a574fa (patch)
treee9a8b6e1df39db2bba4b03886cd8231b86ca9f06 /partners_api
parent62529e20025ea6dd7297379d9696de7abbddba2c (diff)
[core] Added megafon category banner logic
Diffstat (limited to 'partners_api')
-rw-r--r--partners_api/megafon_countries.cpp43
-rw-r--r--partners_api/megafon_countries.hpp4
2 files changed, 40 insertions, 7 deletions
diff --git a/partners_api/megafon_countries.cpp b/partners_api/megafon_countries.cpp
index 1be466f3d4..3f78c8a93b 100644
--- a/partners_api/megafon_countries.cpp
+++ b/partners_api/megafon_countries.cpp
@@ -49,26 +49,55 @@ storage::TCountriesVec const kCountries = {
"Ukraine",
"United Arab Emirates",
};
+
+bool IsRussianLocale(std::string const & currentLocale)
+{
+ return currentLocale.find("ru") != std::string::npos;
+}
+
+bool ContainsCountry(storage::Storage const & storage, storage::TCountriesVec const & countries,
+ storage::TCountriesVec const & referenceCountries)
+{
+ for (auto const & c : countries)
+ {
+ if (std::find(referenceCountries.cbegin(), referenceCountries.cend(), c) !=
+ referenceCountries.cend())
+ {
+ return true;
+ }
+ }
+ return false;
+}
} // namespace
bool HasMegafonDownloaderBanner(storage::Storage const & storage, std::string const & mwmId,
std::string const & currentLocale)
{
- if (currentLocale.find("ru") == std::string::npos)
+ if (!IsRussianLocale(currentLocale))
return false;
storage::TCountriesVec countries;
storage.GetTopmostNodesFor(mwmId, countries);
- for (auto const & c : countries)
- {
- if (std::find(kCountries.cbegin(), kCountries.cend(), c) != kCountries.cend())
- return true;
- }
- return false;
+ return ContainsCountry(storage, countries, kCountries);
+}
+
+bool HasMegafonCategoryBanner(storage::Storage const & storage,
+ storage::TCountriesVec const & countries,
+ std::string const & currentLocale)
+{
+ if (!IsRussianLocale(currentLocale))
+ return false;
+
+ return ContainsCountry(storage, countries, kCountries);
}
std::string GetMegafonDownloaderBannerUrl()
{
return "https://localads.maps.me/redirects/megafon_downloader";
}
+
+std::string GetMegafonCategoryBannerUrl()
+{
+ return "https://localads.maps.me/redirects/megafon_search_category";
+}
} // namespace ads
diff --git a/partners_api/megafon_countries.hpp b/partners_api/megafon_countries.hpp
index c1378f73a5..98fb7f530c 100644
--- a/partners_api/megafon_countries.hpp
+++ b/partners_api/megafon_countries.hpp
@@ -8,5 +8,9 @@ namespace ads
{
extern bool HasMegafonDownloaderBanner(storage::Storage const & storage, std::string const & mwmId,
std::string const & currentLocale);
+extern bool HasMegafonCategoryBanner(storage::Storage const & storage,
+ storage::TCountriesVec const & countries,
+ std::string const & currentLocale);
extern std::string GetMegafonDownloaderBannerUrl();
+extern std::string GetMegafonCategoryBannerUrl();
} // namespace ads