diff options
Diffstat (limited to 'src/displayapp/screens/Clock.h')
| -rw-r--r-- | src/displayapp/screens/Clock.h | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/src/displayapp/screens/Clock.h b/src/displayapp/screens/Clock.h index 3a4c67a..5e9cfea 100644 --- a/src/displayapp/screens/Clock.h +++ b/src/displayapp/screens/Clock.h @@ -21,11 +21,10 @@ namespace Pinetime { template <class T> class DirtyValue { public: - explicit DirtyValue(T v) { value = v; } - explicit DirtyValue(T& v) { value = v; } + DirtyValue() = default; // Use NSDMI + explicit DirtyValue(T const& v):value{v}{} // Use MIL and const-lvalue-ref bool IsUpdated() const { return isUpdated; } - T& Get() { this->isUpdated = false; return value; } - + T const& Get() { this->isUpdated = false; return value; } // never expose a non-const lvalue-ref DirtyValue& operator=(const T& other) { if (this->value != other) { this->value = other; @@ -34,9 +33,10 @@ namespace Pinetime { return *this; } private: - T value; - bool isUpdated = true; + T value{}; // NSDMI - default initialise type + bool isUpdated{true}; // NSDMI - use brace initilisation }; + class Clock : public Screen { public: Clock(DisplayApp* app, @@ -52,11 +52,6 @@ namespace Pinetime { void OnObjectEvent(lv_obj_t *pObj, lv_event_t i); private: - static const char* MonthToString(Pinetime::Controllers::DateTime::Months month); - static const char* DayOfWeekToString(Pinetime::Controllers::DateTime::Days dayOfWeek); - static char const *DaysString[]; - static char const *MonthsString[]; - char displayedChar[5]; uint16_t currentYear = 1970; @@ -64,13 +59,13 @@ namespace Pinetime { Pinetime::Controllers::DateTime::Days currentDayOfWeek = Pinetime::Controllers::DateTime::Days::Unknown; uint8_t currentDay = 0; - DirtyValue<int> batteryPercentRemaining {0}; - DirtyValue<bool> bleState {false}; - DirtyValue<std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds>> currentDateTime; - DirtyValue<uint32_t> stepCount {0}; - DirtyValue<uint8_t> heartbeat {0}; - DirtyValue<bool> heartbeatRunning {false}; - DirtyValue<bool> notificationState {false}; + DirtyValue<int> batteryPercentRemaining {}; + DirtyValue<bool> bleState {}; + DirtyValue<std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds>> currentDateTime{}; + DirtyValue<uint32_t> stepCount {}; + DirtyValue<uint8_t> heartbeat {}; + DirtyValue<bool> heartbeatRunning {}; + DirtyValue<bool> notificationState {}; lv_obj_t* label_time; lv_obj_t* label_date; |
