Skip to content

Commit b3268ae

Browse files
committed
Implement DirtyValues for Quick Settings screen
1 parent 71d1f5b commit b3268ae

2 files changed

Lines changed: 9 additions & 3 deletions

File tree

src/displayapp/screens/settings/QuickSettings.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,8 @@ QuickSettings::QuickSettings(Pinetime::Applications::DisplayApp* app,
119119
lv_obj_set_style_local_text_font(lbl_btn, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &lv_font_sys_48);
120120
lv_label_set_text_static(lbl_btn, Symbols::settings);
121121

122-
taskUpdate = lv_task_create(lv_update_task, 5000, LV_TASK_PRIO_MID, this);
123-
124122
UpdateScreen();
123+
taskUpdate = lv_task_create(lv_update_task, LV_DISP_DEF_REFR_PERIOD, LV_TASK_PRIO_MID, this);
125124
}
126125

127126
QuickSettings::~QuickSettings() {
@@ -132,8 +131,11 @@ QuickSettings::~QuickSettings() {
132131
}
133132

134133
void QuickSettings::UpdateScreen() {
135-
lv_label_set_text(label_time, dateTimeController.FormattedTime().c_str());
136134
statusIcons.Update();
135+
currentDateTime = std::chrono::time_point_cast<std::chrono::minutes>(dateTimeController.CurrentDateTime());
136+
if (currentDateTime.IsUpdated()) {
137+
lv_label_set_text(label_time, dateTimeController.FormattedTime().c_str());
138+
}
137139
}
138140

139141
void QuickSettings::OnButtonEvent(lv_obj_t* object) {

src/displayapp/screens/settings/QuickSettings.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include "components/settings/Settings.h"
1010
#include "components/battery/BatteryController.h"
1111
#include "displayapp/widgets/StatusIcons.h"
12+
#include "utility/DirtyValue.h"
1213

1314
namespace Pinetime {
1415

@@ -34,6 +35,9 @@ namespace Pinetime {
3435

3536
private:
3637
DisplayApp* app;
38+
39+
Utility::DirtyValue<std::chrono::time_point<std::chrono::system_clock, std::chrono::minutes>> currentDateTime {};
40+
3741
Controllers::DateTime& dateTimeController;
3842
Controllers::BrightnessController& brightness;
3943
Controllers::MotorController& motorController;

0 commit comments

Comments
 (0)