forked from organicmaps/organicmaps
Review fixes
This commit is contained in:
parent
a4ac18dae1
commit
7dabc65928
3 changed files with 27 additions and 25 deletions
|
@ -6,21 +6,24 @@
|
|||
|
||||
#include "platform/platform_tests_support/scoped_file.hpp"
|
||||
|
||||
using namespace local_ads;
|
||||
using namespace std;
|
||||
|
||||
UNIT_TEST(LocalAdsHelpers_Read_Write_Country_Name)
|
||||
{
|
||||
platform::tests_support::ScopedFile testFile("la_tests.dat");
|
||||
|
||||
std::string const countryName = "Russia_Moscow";
|
||||
string const countryName = "Russia_Moscow";
|
||||
{
|
||||
FileWriter writer(testFile.GetFullPath());
|
||||
local_ads::WriteCountryName(writer, countryName);
|
||||
WriteCountryName(writer, countryName);
|
||||
}
|
||||
|
||||
std::string result;
|
||||
string result;
|
||||
{
|
||||
FileReader reader(testFile.GetFullPath());
|
||||
ReaderSource<FileReader> src(reader);
|
||||
result = local_ads::ReadCountryName(src);
|
||||
result = ReadCountryName(src);
|
||||
}
|
||||
|
||||
TEST_EQUAL(result, countryName, ());
|
||||
|
@ -30,41 +33,41 @@ UNIT_TEST(LocalAdsHelpers_Read_Write_Timestamp)
|
|||
{
|
||||
platform::tests_support::ScopedFile testFile("la_tests.dat");
|
||||
|
||||
auto ts = std::chrono::steady_clock::now();
|
||||
auto ts = chrono::steady_clock::now();
|
||||
{
|
||||
FileWriter writer(testFile.GetFullPath());
|
||||
local_ads::WriteTimestamp<std::chrono::hours>(writer, ts);
|
||||
local_ads::WriteTimestamp<std::chrono::seconds>(writer, ts);
|
||||
WriteTimestamp<chrono::hours>(writer, ts);
|
||||
WriteTimestamp<chrono::seconds>(writer, ts);
|
||||
}
|
||||
|
||||
std::chrono::steady_clock::time_point resultInHours;
|
||||
std::chrono::steady_clock::time_point resultInSeconds;
|
||||
chrono::steady_clock::time_point resultInHours;
|
||||
chrono::steady_clock::time_point resultInSeconds;
|
||||
{
|
||||
FileReader reader(testFile.GetFullPath());
|
||||
ReaderSource<FileReader> src(reader);
|
||||
resultInHours = local_ads::ReadTimestamp<std::chrono::hours>(src);
|
||||
resultInSeconds = local_ads::ReadTimestamp<std::chrono::seconds>(src);
|
||||
resultInHours = ReadTimestamp<chrono::hours>(src);
|
||||
resultInSeconds = ReadTimestamp<chrono::seconds>(src);
|
||||
}
|
||||
|
||||
TEST_EQUAL(std::chrono::duration_cast<std::chrono::hours>(ts - resultInHours).count(), 0, ());
|
||||
TEST_EQUAL(std::chrono::duration_cast<std::chrono::seconds>(ts - resultInSeconds).count(), 0, ());
|
||||
TEST_EQUAL(chrono::duration_cast<chrono::hours>(ts - resultInHours).count(), 0, ());
|
||||
TEST_EQUAL(chrono::duration_cast<chrono::seconds>(ts - resultInSeconds).count(), 0, ());
|
||||
}
|
||||
|
||||
UNIT_TEST(LocalAdsHelpers_Read_Write_RawData)
|
||||
{
|
||||
platform::tests_support::ScopedFile testFile("la_tests.dat");
|
||||
|
||||
std::vector<uint8_t> rawData = {1, 2, 3, 4, 5};
|
||||
vector<uint8_t> rawData = {1, 2, 3, 4, 5};
|
||||
{
|
||||
FileWriter writer(testFile.GetFullPath());
|
||||
local_ads::WriteRawData(writer, rawData);
|
||||
WriteRawData(writer, rawData);
|
||||
}
|
||||
|
||||
std::vector<uint8_t> result;
|
||||
vector<uint8_t> result;
|
||||
{
|
||||
FileReader reader(testFile.GetFullPath());
|
||||
ReaderSource<FileReader> src(reader);
|
||||
result = local_ads::ReadRawData(src);
|
||||
result = ReadRawData(src);
|
||||
}
|
||||
|
||||
TEST_EQUAL(rawData, result, ());
|
||||
|
|
|
@ -131,7 +131,7 @@ void LocalAdsManager::UpdateViewport(ScreenBase const & screen)
|
|||
auto const it = m_info.find(mwmName);
|
||||
bool needUpdateByTimeout = (connectionStatus == Platform::EConnectionType::CONNECTION_WIFI);
|
||||
if (!needUpdateByTimeout && it != m_info.end())
|
||||
needUpdateByTimeout = Now() > (it->second.m_creationTimestamp + kWWanUpdateTimeout);
|
||||
needUpdateByTimeout = Now() > (it->second.m_created + kWWanUpdateTimeout);
|
||||
|
||||
if (needUpdateByTimeout || it == m_info.end())
|
||||
requestedCampaigns.push_back(mwmName);
|
||||
|
@ -172,11 +172,10 @@ void LocalAdsManager::ThreadRoutine()
|
|||
info.m_data = DownloadCampaign(mwm.first);
|
||||
if (info.m_data.empty())
|
||||
continue;
|
||||
info.m_creationTimestamp = Now();
|
||||
info.m_created = Now();
|
||||
|
||||
// Parse data and send symbols to rendering.
|
||||
auto symbols = ParseCampaign(std::move(info.m_data), mwm.first,
|
||||
info.m_creationTimestamp);
|
||||
auto symbols = ParseCampaign(std::move(info.m_data), mwm.first, info.m_created);
|
||||
if (symbols.empty())
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(m_mutex);
|
||||
|
@ -288,7 +287,7 @@ void LocalAdsManager::ReadCampaignFile(std::string const & campaignFile)
|
|||
{
|
||||
std::string countryName;
|
||||
CampaignInfo info;
|
||||
DeserializeCampaign(src, countryName, info.m_creationTimestamp, info.m_data);
|
||||
DeserializeCampaign(src, countryName, info.m_created, info.m_data);
|
||||
m_info[countryName] = info;
|
||||
m_campaigns[countryName] = false;
|
||||
}
|
||||
|
@ -309,7 +308,7 @@ void LocalAdsManager::WriteCampaignFile(std::string const & campaignFile)
|
|||
std::lock_guard<std::mutex> lock(m_mutex);
|
||||
FileWriter writer(campaignFile);
|
||||
for (auto const & info : m_info)
|
||||
SerializeCampaign(writer, info.first, info.second.m_creationTimestamp, info.second.m_data);
|
||||
SerializeCampaign(writer, info.first, info.second.m_created, info.second.m_data);
|
||||
}
|
||||
catch (RootException const & ex)
|
||||
{
|
||||
|
@ -348,7 +347,7 @@ void LocalAdsManager::Invalidate()
|
|||
for (auto const & info : m_info)
|
||||
{
|
||||
auto campaignSymbols = ParseCampaign(info.second.m_data, m_getMwmIdByNameFn(info.first),
|
||||
info.second.m_creationTimestamp);
|
||||
info.second.m_created);
|
||||
symbols.insert(campaignSymbols.begin(), campaignSymbols.end());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -73,7 +73,7 @@ private:
|
|||
std::map<std::string, bool> m_campaigns;
|
||||
struct CampaignInfo
|
||||
{
|
||||
Timestamp m_creationTimestamp;
|
||||
Timestamp m_created;
|
||||
std::vector<uint8_t> m_data;
|
||||
};
|
||||
std::map<std::string, CampaignInfo> m_info;
|
||||
|
|
Loading…
Add table
Reference in a new issue