@@ -46,31 +46,31 @@ Alarm::Alarm(DisplayApp* app, Controllers::AlarmController& alarmController)
4646 lv_obj_set_size (btnHoursUp, 60 , 40 );
4747 lv_obj_align (btnHoursUp, lv_scr_act (), LV_ALIGN_IN_LEFT_MID, 20 , -85 );
4848 txtHrUp = lv_label_create (btnHoursUp, nullptr );
49- lv_label_set_text (txtHrUp, " +" );
49+ lv_label_set_text_static (txtHrUp, " +" );
5050
5151 btnHoursDown = lv_btn_create (lv_scr_act (), nullptr );
5252 btnHoursDown->user_data = this ;
5353 lv_obj_set_event_cb (btnHoursDown, btnEventHandler);
5454 lv_obj_set_size (btnHoursDown, 60 , 40 );
5555 lv_obj_align (btnHoursDown, lv_scr_act (), LV_ALIGN_IN_LEFT_MID, 20 , 35 );
5656 txtHrDown = lv_label_create (btnHoursDown, nullptr );
57- lv_label_set_text (txtHrDown, " -" );
57+ lv_label_set_text_static (txtHrDown, " -" );
5858
5959 btnMinutesUp = lv_btn_create (lv_scr_act (), nullptr );
6060 btnMinutesUp->user_data = this ;
6161 lv_obj_set_event_cb (btnMinutesUp, btnEventHandler);
6262 lv_obj_set_size (btnMinutesUp, 60 , 40 );
6363 lv_obj_align (btnMinutesUp, lv_scr_act (), LV_ALIGN_IN_RIGHT_MID, -20 , -85 );
6464 txtMinUp = lv_label_create (btnMinutesUp, nullptr );
65- lv_label_set_text (txtMinUp, " +" );
65+ lv_label_set_text_static (txtMinUp, " +" );
6666
6767 btnMinutesDown = lv_btn_create (lv_scr_act (), nullptr );
6868 btnMinutesDown->user_data = this ;
6969 lv_obj_set_event_cb (btnMinutesDown, btnEventHandler);
7070 lv_obj_set_size (btnMinutesDown, 60 , 40 );
7171 lv_obj_align (btnMinutesDown, lv_scr_act (), LV_ALIGN_IN_RIGHT_MID, -20 , 35 );
7272 txtMinDown = lv_label_create (btnMinutesDown, nullptr );
73- lv_label_set_text (txtMinDown, " -" );
73+ lv_label_set_text_static (txtMinDown, " -" );
7474
7575 btnEnable = lv_btn_create (lv_scr_act (), nullptr );
7676 btnEnable->user_data = this ;
@@ -94,7 +94,7 @@ Alarm::Alarm(DisplayApp* app, Controllers::AlarmController& alarmController)
9494 lv_obj_set_size (btnInfo, 50 , 40 );
9595 lv_obj_align (btnInfo, lv_scr_act (), LV_ALIGN_CENTER, 0 , -85 );
9696 txtInfo = lv_label_create (btnInfo, nullptr );
97- lv_label_set_text (txtInfo, " i" );
97+ lv_label_set_text_static (txtInfo, " i" );
9898}
9999
100100Alarm::~Alarm () {
@@ -110,7 +110,7 @@ void Alarm::OnButtonEvent(lv_obj_t* obj, lv_event_t event) {
110110 } else if (alarmController.State () == AlarmController::AlarmState::Set) {
111111 alarmController.DisableAlarm ();
112112 } else {
113- alarmController.SetAlarm (alarmHours, alarmMinutes );
113+ alarmController.ScheduleAlarm ( );
114114 }
115115 SetEnableButtonState ();
116116 return ;
@@ -128,8 +128,6 @@ void Alarm::OnButtonEvent(lv_obj_t* obj, lv_event_t event) {
128128 }
129129 // If any other button was pressed, disable the alarm
130130 // this is to make it clear that the alarm won't be set until it is turned back on
131- // this avoids calling the AlarmController to change the alarm time every time the user hits minute-up or minute-down;
132- // can just do it once when the alarm is re-enabled
133131 if (alarmController.State () == AlarmController::AlarmState::Set) {
134132 alarmController.DisableAlarm ();
135133 SetEnableButtonState ();
@@ -140,7 +138,7 @@ void Alarm::OnButtonEvent(lv_obj_t* obj, lv_event_t event) {
140138 } else {
141139 alarmMinutes++;
142140 }
143- lv_label_set_text_fmt (time, " %02d:%02d " , alarmHours, alarmMinutes );
141+ UpdateAlarmTime ( );
144142 return ;
145143 }
146144 if (obj == btnMinutesDown) {
@@ -149,7 +147,7 @@ void Alarm::OnButtonEvent(lv_obj_t* obj, lv_event_t event) {
149147 } else {
150148 alarmMinutes--;
151149 }
152- lv_label_set_text_fmt (time, " %02d:%02d " , alarmHours, alarmMinutes );
150+ UpdateAlarmTime ( );
153151 return ;
154152 }
155153 if (obj == btnHoursUp) {
@@ -158,7 +156,7 @@ void Alarm::OnButtonEvent(lv_obj_t* obj, lv_event_t event) {
158156 } else {
159157 alarmHours++;
160158 }
161- lv_label_set_text_fmt (time, " %02d:%02d " , alarmHours, alarmMinutes );
159+ UpdateAlarmTime ( );
162160 return ;
163161 }
164162 if (obj == btnHoursDown) {
@@ -167,7 +165,7 @@ void Alarm::OnButtonEvent(lv_obj_t* obj, lv_event_t event) {
167165 } else {
168166 alarmHours--;
169167 }
170- lv_label_set_text_fmt (time, " %02d:%02d " , alarmHours, alarmMinutes );
168+ UpdateAlarmTime ( );
171169 return ;
172170 }
173171 if (obj == btnRecur) {
@@ -176,6 +174,11 @@ void Alarm::OnButtonEvent(lv_obj_t* obj, lv_event_t event) {
176174 }
177175}
178176
177+ void Alarm::UpdateAlarmTime () {
178+ lv_label_set_text_fmt (time, " %02d:%02d" , alarmHours, alarmMinutes);
179+ alarmController.SetAlarmTime (alarmHours, alarmMinutes);
180+ }
181+
179182void Alarm::SetAlerting () {
180183 SetEnableButtonState ();
181184}
0 commit comments