From c82aa95601e8ed99d7511ca55aa39776bbfbd028 Mon Sep 17 00:00:00 2001 From: "r.kuznetsov" Date: Thu, 18 May 2017 15:19:37 +0300 Subject: [PATCH] Fixed local ads deserialization and redundant server requesting --- local_ads/campaign_serialization.cpp | 2 +- local_ads/statistics.cpp | 4 ++-- map/local_ads_manager.cpp | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/local_ads/campaign_serialization.cpp b/local_ads/campaign_serialization.cpp index 5340951b1c..750bf134d4 100644 --- a/local_ads/campaign_serialization.cpp +++ b/local_ads/campaign_serialization.cpp @@ -85,7 +85,7 @@ std::vector Deserialize(std::vector const & bytes) ArrayByteSource src(bytes.data()); auto const version = Read(src); static_cast(version); // No version dispatching for now. - auto const chunksNumber = Read(src); + auto const chunksNumber = Read(src); auto const featureIds = ReadData(src, chunksNumber); auto const icons = ReadData(src, chunksNumber); diff --git a/local_ads/statistics.cpp b/local_ads/statistics.cpp index 95ffc1e8f6..b018bdac2d 100644 --- a/local_ads/statistics.cpp +++ b/local_ads/statistics.cpp @@ -426,8 +426,8 @@ void Statistics::SendToServer() } else { - LOG(LWARNING, - ("Sending statistics failed:", request.ErrorCode(), it->first.first, it->first.second)); + LOG(LWARNING, ("Sending statistics failed:", "URL:", url, "Error code:", request.ErrorCode(), + it->first.first, it->first.second)); ++it; } } diff --git a/map/local_ads_manager.cpp b/map/local_ads_manager.cpp index cc5ac12d08..af26f31278 100644 --- a/map/local_ads_manager.cpp +++ b/map/local_ads_manager.cpp @@ -316,7 +316,8 @@ bool LocalAdsManager::DownloadCampaign(MwmSet::MwmId const & mwmId, std::vector< { std::lock_guard lock(m_mutex); auto const & countryName = mwmId.GetInfo()->GetCountryName(); - if (m_campaigns.find(countryName) != m_campaigns.cend()) + auto const it = m_campaigns.find(countryName); + if (it != m_campaigns.cend() && it->second) return false; }