From f4423f8cfb33bd1196d149018bc61b7a3187991a Mon Sep 17 00:00:00 2001 From: riban Date: Wed, 17 Jan 2024 09:27:36 +0000 Subject: [PATCH] Add option to keep display on always --- src/displayapp/DisplayApp.cpp | 4 ++-- src/displayapp/screens/settings/SettingDisplay.cpp | 7 +++++-- src/displayapp/screens/settings/SettingDisplay.h | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index 938d1179a8..b9108f3830 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -212,11 +212,11 @@ void DisplayApp::Refresh() { } queueTimeout = lv_task_handler(); - if (!systemTask->IsSleepDisabled() && IsPastDimTime()) { + if (settingsController.GetScreenTimeOut() && !systemTask->IsSleepDisabled() && IsPastDimTime()) { if (!isDimmed) { DimScreen(); } - if (IsPastSleepTime()) { + if (settingsController.GetScreenTimeOut() && IsPastSleepTime()) { systemTask->PushMessage(System::Messages::GoToSleep); state = States::Idle; } diff --git a/src/displayapp/screens/settings/SettingDisplay.cpp b/src/displayapp/screens/settings/SettingDisplay.cpp index bd533e675b..9c3e39a221 100644 --- a/src/displayapp/screens/settings/SettingDisplay.cpp +++ b/src/displayapp/screens/settings/SettingDisplay.cpp @@ -43,10 +43,13 @@ SettingDisplay::SettingDisplay(Pinetime::Applications::DisplayApp* app, Pinetime lv_label_set_align(icon, LV_LABEL_ALIGN_CENTER); lv_obj_align(icon, title, LV_ALIGN_OUT_LEFT_MID, -10, 0); - char buffer[4]; + char buffer[5]; for (unsigned int i = 0; i < options.size(); i++) { cbOption[i] = lv_checkbox_create(container1, nullptr); - snprintf(buffer, sizeof(buffer), "%2" PRIu16 "s", options[i] / 1000); + if (options[i]) + snprintf(buffer, sizeof(buffer), "%2" PRIu16 "s", options[i] / 1000); + else + sprintf(buffer, " On"); lv_checkbox_set_text(cbOption[i], buffer); cbOption[i]->user_data = this; lv_obj_set_event_cb(cbOption[i], event_handler); diff --git a/src/displayapp/screens/settings/SettingDisplay.h b/src/displayapp/screens/settings/SettingDisplay.h index 64212c0217..0e0aa007b6 100644 --- a/src/displayapp/screens/settings/SettingDisplay.h +++ b/src/displayapp/screens/settings/SettingDisplay.h @@ -21,7 +21,7 @@ namespace Pinetime { private: DisplayApp* app; - static constexpr std::array options = {5000, 7000, 10000, 15000, 20000, 30000}; + static constexpr std::array options = {5000, 10000, 15000, 30000, 60000, 0}; Controllers::Settings& settingsController; lv_obj_t* cbOption[options.size()];