aboutsummaryrefslogtreecommitdiffstats
path: root/src/displayapp/widgets/StatusIcons.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/displayapp/widgets/StatusIcons.cpp')
-rw-r--r--src/displayapp/widgets/StatusIcons.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/displayapp/widgets/StatusIcons.cpp b/src/displayapp/widgets/StatusIcons.cpp
index 423b53d9..777731a5 100644
--- a/src/displayapp/widgets/StatusIcons.cpp
+++ b/src/displayapp/widgets/StatusIcons.cpp
@@ -1,10 +1,13 @@
#include "displayapp/widgets/StatusIcons.h"
#include "displayapp/screens/Symbols.h"
+#include "components/alarm/AlarmController.h"
using namespace Pinetime::Applications::Widgets;
-StatusIcons::StatusIcons(const Controllers::Battery& batteryController, const Controllers::Ble& bleController)
- : batteryIcon(true), batteryController {batteryController}, bleController {bleController} {
+StatusIcons::StatusIcons(const Controllers::Battery& batteryController,
+ const Controllers::Ble& bleController,
+ const Controllers::AlarmController& alarmController)
+ : batteryIcon(true), batteryController {batteryController}, bleController {bleController}, alarmController {alarmController} {
}
void StatusIcons::Create() {
@@ -20,6 +23,9 @@ void StatusIcons::Create() {
batteryPlug = lv_label_create(container, nullptr);
lv_label_set_text_static(batteryPlug, Screens::Symbols::plug);
+ alarmIcon = lv_label_create(container, nullptr);
+ lv_label_set_text_static(alarmIcon, Screens::Symbols::bell);
+
batteryIcon.Create(container);
lv_obj_align(container, nullptr, LV_ALIGN_IN_TOP_RIGHT, 0, 0);
@@ -37,6 +43,11 @@ void StatusIcons::Update() {
batteryIcon.SetBatteryPercentage(batteryPercent);
}
+ alarmEnabled = alarmController.IsEnabled();
+ if (alarmEnabled.IsUpdated()) {
+ lv_obj_set_hidden(alarmIcon, !alarmEnabled.Get());
+ }
+
bleState = bleController.IsConnected();
bleRadioEnabled = bleController.IsRadioEnabled();
if (bleState.IsUpdated() || bleRadioEnabled.IsUpdated()) {