1
1
#include " displayapp/widgets/StatusIcons.h"
2
2
#include " displayapp/screens/Symbols.h"
3
+ #include " components/alarm/AlarmController.h"
3
4
4
5
using namespace Pinetime ::Applications::Widgets;
5
6
6
- StatusIcons::StatusIcons (const Controllers::Battery& batteryController, const Controllers::Ble& bleController)
7
- : batteryIcon(true ), batteryController {batteryController}, bleController {bleController} {
7
+ StatusIcons::StatusIcons (const Controllers::Battery& batteryController,
8
+ const Controllers::Ble& bleController,
9
+ const Controllers::AlarmController& alarmController)
10
+ : batteryIcon(true ), batteryController {batteryController}, bleController {bleController}, alarmController {alarmController} {
8
11
}
9
12
10
13
void StatusIcons::Create () {
@@ -20,6 +23,9 @@ void StatusIcons::Create() {
20
23
batteryPlug = lv_label_create (container, nullptr );
21
24
lv_label_set_text_static (batteryPlug, Screens::Symbols::plug);
22
25
26
+ alarmIcon = lv_label_create (container, nullptr );
27
+ lv_label_set_text_static (alarmIcon, Screens::Symbols::bell);
28
+
23
29
batteryIcon.Create (container);
24
30
25
31
lv_obj_align (container, nullptr , LV_ALIGN_IN_TOP_RIGHT, 0 , 0 );
@@ -37,6 +43,11 @@ void StatusIcons::Update() {
37
43
batteryIcon.SetBatteryPercentage (batteryPercent);
38
44
}
39
45
46
+ alarmEnabled = alarmController.IsEnabled ();
47
+ if (alarmEnabled.IsUpdated ()) {
48
+ lv_obj_set_hidden (alarmIcon, !alarmEnabled.Get ());
49
+ }
50
+
40
51
bleState = bleController.IsConnected ();
41
52
bleRadioEnabled = bleController.IsRadioEnabled ();
42
53
if (bleState.IsUpdated () || bleRadioEnabled.IsUpdated ()) {
0 commit comments