Fixed local ads deserialization and redundant server requesting

This commit is contained in:
r.kuznetsov 2017-05-18 15:19:37 +03:00
parent 25741e8844
commit c82aa95601
3 changed files with 5 additions and 4 deletions

View file

@ -85,7 +85,7 @@ std::vector<Campaign> Deserialize(std::vector<uint8_t> const & bytes)
ArrayByteSource src(bytes.data());
auto const version = Read<Version>(src);
static_cast<void>(version); // No version dispatching for now.
auto const chunksNumber = Read<size_t>(src);
auto const chunksNumber = Read<uint64_t>(src);
auto const featureIds = ReadData<uint32_t>(src, chunksNumber);
auto const icons = ReadData<uint16_t>(src, chunksNumber);

View file

@ -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;
}
}

View file

@ -316,7 +316,8 @@ bool LocalAdsManager::DownloadCampaign(MwmSet::MwmId const & mwmId, std::vector<
{
std::lock_guard<std::mutex> 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;
}