diff --git a/src/displayapp/screens/Tile.cpp b/src/displayapp/screens/Tile.cpp index 8e3c5c5565..21e24eccb8 100644 --- a/src/displayapp/screens/Tile.cpp +++ b/src/displayapp/screens/Tile.cpp @@ -36,7 +36,7 @@ Tile::Tile(uint8_t screenID, : app {app}, dateTimeController {dateTimeController}, pageIndicator(screenID, numScreens), - statusIcons(batteryController, bleController, alarmController, timer) { + statusIcons(batteryController, bleController, alarmController, timer, settingsController) { settingsController.SetAppMenu(screenID); diff --git a/src/displayapp/screens/WatchFaceDigital.cpp b/src/displayapp/screens/WatchFaceDigital.cpp index 341dd919db..8cdbceb087 100644 --- a/src/displayapp/screens/WatchFaceDigital.cpp +++ b/src/displayapp/screens/WatchFaceDigital.cpp @@ -33,7 +33,7 @@ WatchFaceDigital::WatchFaceDigital(Controllers::DateTime& dateTimeController, heartRateController {heartRateController}, motionController {motionController}, weatherService {weatherService}, - statusIcons(batteryController, bleController, alarmController, timer) { + statusIcons(batteryController, bleController, alarmController, timer, settingsController) { statusIcons.Create(); diff --git a/src/displayapp/screens/settings/QuickSettings.cpp b/src/displayapp/screens/settings/QuickSettings.cpp index f31a206be7..89dab5c053 100644 --- a/src/displayapp/screens/settings/QuickSettings.cpp +++ b/src/displayapp/screens/settings/QuickSettings.cpp @@ -41,7 +41,7 @@ QuickSettings::QuickSettings(Pinetime::Applications::DisplayApp* app, brightness {brightness}, motorController {motorController}, settingsController {settingsController}, - statusIcons(batteryController, bleController, alarmController, timer) { + statusIcons(batteryController, bleController, alarmController, timer, settingsController) { statusIcons.Create(); diff --git a/src/displayapp/widgets/StatusIcons.cpp b/src/displayapp/widgets/StatusIcons.cpp index 213b97fae3..a91aeca5c4 100644 --- a/src/displayapp/widgets/StatusIcons.cpp +++ b/src/displayapp/widgets/StatusIcons.cpp @@ -7,12 +7,14 @@ using namespace Pinetime::Applications::Widgets; StatusIcons::StatusIcons(const Controllers::Battery& batteryController, const Controllers::Ble& bleController, const Controllers::AlarmController& alarmController, - const Controllers::Timer& timer) + const Controllers::Timer& timer, + const Controllers::Settings& settingsController) : batteryIcon(true), batteryController {batteryController}, bleController {bleController}, alarmController {alarmController}, - timer {timer} { + timer {timer}, + settingsController {settingsController} { } void StatusIcons::Create() { @@ -112,6 +114,11 @@ void StatusIcons::Update() { lv_label_set_text_fmt(timeRemaining, ":%02d", timerSeconds); } + if (settingsController.GetClockType() == Controllers::Settings::ClockType::H24) { + maxIcons += 1; + } + + if (activeIconCounter > maxIcons) { lv_obj_set_hidden(timerContainer, true); lv_obj_set_hidden(soloTimerIcon, false); diff --git a/src/displayapp/widgets/StatusIcons.h b/src/displayapp/widgets/StatusIcons.h index 43abb10ca6..343562b21d 100644 --- a/src/displayapp/widgets/StatusIcons.h +++ b/src/displayapp/widgets/StatusIcons.h @@ -6,6 +6,7 @@ #include "components/battery/BatteryController.h" #include "components/ble/BleController.h" #include "components/alarm/AlarmController.h" +#include "components/settings/Settings.h" #include "displayapp/screens/BatteryIcon.h" #include "utility/DirtyValue.h" @@ -17,7 +18,8 @@ namespace Pinetime { StatusIcons(const Controllers::Battery& batteryController, const Controllers::Ble& bleController, const Controllers::AlarmController& alarmController, - const Controllers::Timer& timer); + const Controllers::Timer& timer, + const Controllers::Settings& settingsController); void Align(); void Create(); @@ -33,6 +35,7 @@ namespace Pinetime { const Controllers::Ble& bleController; const Controllers::AlarmController& alarmController; const Controllers::Timer& timer; + const Controllers::Settings& settingsController; Utility::DirtyValue batteryPercentRemaining {}; Utility::DirtyValue powerPresent {};