@@ -404,7 +404,8 @@ namespace Pinetime {
404
404
std::unique_ptr<WeatherData::Clouds>& WeatherService::GetCurrentClouds () {
405
405
uint64_t currentTimestamp = GetCurrentUnixTimestamp ();
406
406
for (auto && header : this ->timeline ) {
407
- if (header->eventType == WeatherData::eventtype::Clouds && IsEventStillValid (header, currentTimestamp)) {
407
+ if (header->eventType == WeatherData::eventtype::Clouds && currentTimestamp >= header->timestamp &&
408
+ IsEventStillValid (header, currentTimestamp)) {
408
409
return reinterpret_cast <std::unique_ptr<WeatherData::Clouds>&>(header);
409
410
}
410
411
}
@@ -415,7 +416,8 @@ namespace Pinetime {
415
416
std::unique_ptr<WeatherData::Obscuration>& WeatherService::GetCurrentObscuration () {
416
417
uint64_t currentTimestamp = GetCurrentUnixTimestamp ();
417
418
for (auto && header : this ->timeline ) {
418
- if (header->eventType == WeatherData::eventtype::Obscuration && IsEventStillValid (header, currentTimestamp)) {
419
+ if (header->eventType == WeatherData::eventtype::Obscuration && currentTimestamp >= header->timestamp &&
420
+ IsEventStillValid (header, currentTimestamp)) {
419
421
return reinterpret_cast <std::unique_ptr<WeatherData::Obscuration>&>(header);
420
422
}
421
423
}
@@ -426,7 +428,8 @@ namespace Pinetime {
426
428
std::unique_ptr<WeatherData::Precipitation>& WeatherService::GetCurrentPrecipitation () {
427
429
uint64_t currentTimestamp = GetCurrentUnixTimestamp ();
428
430
for (auto && header : this ->timeline ) {
429
- if (header->eventType == WeatherData::eventtype::Precipitation && IsEventStillValid (header, currentTimestamp)) {
431
+ if (header->eventType == WeatherData::eventtype::Precipitation && currentTimestamp >= header->timestamp &&
432
+ IsEventStillValid (header, currentTimestamp)) {
430
433
return reinterpret_cast <std::unique_ptr<WeatherData::Precipitation>&>(header);
431
434
}
432
435
}
@@ -437,7 +440,8 @@ namespace Pinetime {
437
440
std::unique_ptr<WeatherData::Wind>& WeatherService::GetCurrentWind () {
438
441
uint64_t currentTimestamp = GetCurrentUnixTimestamp ();
439
442
for (auto && header : this ->timeline ) {
440
- if (header->eventType == WeatherData::eventtype::Wind && IsEventStillValid (header, currentTimestamp)) {
443
+ if (header->eventType == WeatherData::eventtype::Wind && currentTimestamp >= header->timestamp &&
444
+ IsEventStillValid (header, currentTimestamp)) {
441
445
return reinterpret_cast <std::unique_ptr<WeatherData::Wind>&>(header);
442
446
}
443
447
}
@@ -448,7 +452,8 @@ namespace Pinetime {
448
452
std::unique_ptr<WeatherData::Temperature>& WeatherService::GetCurrentTemperature () {
449
453
uint64_t currentTimestamp = GetCurrentUnixTimestamp ();
450
454
for (auto && header : this ->timeline ) {
451
- if (header->eventType == WeatherData::eventtype::Temperature && IsEventStillValid (header, currentTimestamp)) {
455
+ if (header->eventType == WeatherData::eventtype::Temperature && currentTimestamp >= header->timestamp &&
456
+ IsEventStillValid (header, currentTimestamp)) {
452
457
return reinterpret_cast <std::unique_ptr<WeatherData::Temperature>&>(header);
453
458
}
454
459
}
@@ -459,7 +464,8 @@ namespace Pinetime {
459
464
std::unique_ptr<WeatherData::Humidity>& WeatherService::GetCurrentHumidity () {
460
465
uint64_t currentTimestamp = GetCurrentUnixTimestamp ();
461
466
for (auto && header : this ->timeline ) {
462
- if (header->eventType == WeatherData::eventtype::Humidity && IsEventStillValid (header, currentTimestamp)) {
467
+ if (header->eventType == WeatherData::eventtype::Humidity && currentTimestamp >= header->timestamp &&
468
+ IsEventStillValid (header, currentTimestamp)) {
463
469
return reinterpret_cast <std::unique_ptr<WeatherData::Humidity>&>(header);
464
470
}
465
471
}
@@ -470,7 +476,8 @@ namespace Pinetime {
470
476
std::unique_ptr<WeatherData::Pressure>& WeatherService::GetCurrentPressure () {
471
477
uint64_t currentTimestamp = GetCurrentUnixTimestamp ();
472
478
for (auto && header : this ->timeline ) {
473
- if (header->eventType == WeatherData::eventtype::Pressure && IsEventStillValid (header, currentTimestamp)) {
479
+ if (header->eventType == WeatherData::eventtype::Pressure && currentTimestamp >= header->timestamp &&
480
+ IsEventStillValid (header, currentTimestamp)) {
474
481
return reinterpret_cast <std::unique_ptr<WeatherData::Pressure>&>(header);
475
482
}
476
483
}
@@ -481,7 +488,8 @@ namespace Pinetime {
481
488
std::unique_ptr<WeatherData::Location>& WeatherService::GetCurrentLocation () {
482
489
uint64_t currentTimestamp = GetCurrentUnixTimestamp ();
483
490
for (auto && header : this ->timeline ) {
484
- if (header->eventType == WeatherData::eventtype::Location && IsEventStillValid (header, currentTimestamp)) {
491
+ if (header->eventType == WeatherData::eventtype::Location && currentTimestamp >= header->timestamp &&
492
+ IsEventStillValid (header, currentTimestamp)) {
485
493
return reinterpret_cast <std::unique_ptr<WeatherData::Location>&>(header);
486
494
}
487
495
}
@@ -492,7 +500,8 @@ namespace Pinetime {
492
500
std::unique_ptr<WeatherData::AirQuality>& WeatherService::GetCurrentQuality () {
493
501
uint64_t currentTimestamp = GetCurrentUnixTimestamp ();
494
502
for (auto && header : this ->timeline ) {
495
- if (header->eventType == WeatherData::eventtype::AirQuality && IsEventStillValid (header, currentTimestamp)) {
503
+ if (header->eventType == WeatherData::eventtype::AirQuality && currentTimestamp >= header->timestamp &&
504
+ IsEventStillValid (header, currentTimestamp)) {
496
505
return reinterpret_cast <std::unique_ptr<WeatherData::AirQuality>&>(header);
497
506
}
498
507
}
0 commit comments