From 51488a6ac7e28c92eb9c475ef8ab4552fdd1be5a Mon Sep 17 00:00:00 2001 From: minacode Date: Wed, 10 May 2023 12:11:06 +0200 Subject: [PATCH 1/6] Rename Apps to ScreenIds Rename Apps to ScreenIds to free up the name Apps for actual apps. This is meant as a first preparation step towards more dynamic apps. --- src/CMakeLists.txt | 2 +- src/displayapp/DisplayApp.cpp | 131 +++++++++--------- src/displayapp/DisplayApp.h | 16 +-- src/displayapp/DisplayAppRecovery.h | 1 - src/displayapp/{Apps.h => ScreenIds.h} | 2 +- src/displayapp/screens/ApplicationList.cpp | 1 - src/displayapp/screens/ApplicationList.h | 31 +++-- src/displayapp/screens/CheckboxList.h | 1 - src/displayapp/screens/List.cpp | 4 +- src/displayapp/screens/List.h | 6 +- src/displayapp/screens/Tile.cpp | 4 +- src/displayapp/screens/Tile.h | 6 +- .../screens/settings/QuickSettings.cpp | 5 +- src/displayapp/screens/settings/Settings.cpp | 1 - src/displayapp/screens/settings/Settings.h | 39 +++--- 15 files changed, 127 insertions(+), 123 deletions(-) rename src/displayapp/{Apps.h => ScreenIds.h} (96%) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a6e7ad5625..2b4b3049a8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -603,8 +603,8 @@ set(INCLUDE_FILES displayapp/screens/FirmwareValidation.h displayapp/screens/ApplicationList.h displayapp/screens/CheckboxList.h - displayapp/Apps.h displayapp/WatchFaces.h + displayapp/ScreenIds.h displayapp/screens/Notifications.h displayapp/screens/HeartRate.h displayapp/screens/Metronome.h diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index fe2ee21375..6448674d52 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -106,9 +106,9 @@ void DisplayApp::Start(System::BootErrors error) { lvgl.Init(); if (error == System::BootErrors::TouchController) { - LoadNewScreen(Apps::Error, DisplayApp::FullRefreshDirections::None); + LoadNewScreen(ScreenId::Error, DisplayApp::FullRefreshDirections::None); } else { - LoadNewScreen(Apps::Clock, DisplayApp::FullRefreshDirections::None); + LoadNewScreen(ScreenId::Clock, DisplayApp::FullRefreshDirections::None); } if (pdPASS != xTaskCreate(DisplayApp::Process, "displayapp", 800, this, 0, &taskHandle)) { @@ -239,31 +239,31 @@ void DisplayApp::Refresh() { // Screens::Clock::BleConnectionStates::NotConnected); break; case Messages::NewNotification: - LoadNewScreen(Apps::NotificationsPreview, DisplayApp::FullRefreshDirections::Down); + LoadNewScreen(ScreenId::NotificationsPreview, DisplayApp::FullRefreshDirections::Down); break; case Messages::TimerDone: if (state != States::Running) { PushMessageToSystemTask(System::Messages::GoToRunning); } - if (currentApp == Apps::Timer) { + if (currentApp == ScreenId::Timer) { lv_disp_trig_activity(nullptr); auto* timer = static_cast(currentScreen.get()); timer->Reset(); } else { - LoadNewScreen(Apps::Timer, DisplayApp::FullRefreshDirections::Up); + LoadNewScreen(ScreenId::Timer, DisplayApp::FullRefreshDirections::Up); } motorController.RunForDuration(35); break; case Messages::AlarmTriggered: - if (currentApp == Apps::Alarm) { + if (currentApp == ScreenId::Alarm) { auto* alarm = static_cast(currentScreen.get()); alarm->SetAlerting(); } else { - LoadNewScreen(Apps::Alarm, DisplayApp::FullRefreshDirections::None); + LoadNewScreen(ScreenId::Alarm, DisplayApp::FullRefreshDirections::None); } break; case Messages::ShowPairingKey: - LoadNewScreen(Apps::PassKey, DisplayApp::FullRefreshDirections::Up); + LoadNewScreen(ScreenId::PassKey, DisplayApp::FullRefreshDirections::Up); motorController.RunForDuration(35); break; case Messages::TouchEvent: { @@ -289,16 +289,16 @@ void DisplayApp::Refresh() { } }; if (!currentScreen->OnTouchEvent(gesture)) { - if (currentApp == Apps::Clock) { + if (currentApp == ScreenId::Clock) { switch (gesture) { case TouchEvents::SwipeUp: - LoadNewScreen(Apps::Launcher, DisplayApp::FullRefreshDirections::Up); + LoadNewScreen(ScreenId::Launcher, DisplayApp::FullRefreshDirections::Up); break; case TouchEvents::SwipeDown: - LoadNewScreen(Apps::Notifications, DisplayApp::FullRefreshDirections::Down); + LoadNewScreen(ScreenId::Notifications, DisplayApp::FullRefreshDirections::Down); break; case TouchEvents::SwipeRight: - LoadNewScreen(Apps::QuickSettings, DisplayApp::FullRefreshDirections::RightAnim); + LoadNewScreen(ScreenId::QuickSettings, DisplayApp::FullRefreshDirections::RightAnim); break; case TouchEvents::DoubleTap: PushMessageToSystemTask(System::Messages::GoToSleep); @@ -315,7 +315,7 @@ void DisplayApp::Refresh() { } break; case Messages::ButtonPushed: if (!currentScreen->OnButtonPushed()) { - if (currentApp == Apps::Clock) { + if (currentApp == ScreenId::Clock) { PushMessageToSystemTask(System::Messages::GoToSleep); } else { LoadPreviousScreen(); @@ -323,13 +323,13 @@ void DisplayApp::Refresh() { } break; case Messages::ButtonLongPressed: - if (currentApp != Apps::Clock) { - if (currentApp == Apps::Notifications) { - LoadNewScreen(Apps::Clock, DisplayApp::FullRefreshDirections::Up); - } else if (currentApp == Apps::QuickSettings) { - LoadNewScreen(Apps::Clock, DisplayApp::FullRefreshDirections::LeftAnim); + if (currentApp != ScreenId::Clock) { + if (currentApp == ScreenId::Notifications) { + LoadNewScreen(ScreenId::Clock, DisplayApp::FullRefreshDirections::Up); + } else if (currentApp == ScreenId::QuickSettings) { + LoadNewScreen(ScreenId::Clock, DisplayApp::FullRefreshDirections::LeftAnim); } else { - LoadNewScreen(Apps::Clock, DisplayApp::FullRefreshDirections::Down); + LoadNewScreen(ScreenId::Clock, DisplayApp::FullRefreshDirections::Down); } appStackDirections.Reset(); returnAppStack.Reset(); @@ -337,16 +337,16 @@ void DisplayApp::Refresh() { break; case Messages::ButtonLongerPressed: // Create reboot app and open it instead - LoadNewScreen(Apps::SysInfo, DisplayApp::FullRefreshDirections::Up); + LoadNewScreen(ScreenId::SysInfo, DisplayApp::FullRefreshDirections::Up); break; case Messages::ButtonDoubleClicked: - if (currentApp != Apps::Notifications && currentApp != Apps::NotificationsPreview) { - LoadNewScreen(Apps::Notifications, DisplayApp::FullRefreshDirections::Down); + if (currentApp != ScreenId::Notifications && currentApp != ScreenId::NotificationsPreview) { + LoadNewScreen(ScreenId::Notifications, DisplayApp::FullRefreshDirections::Down); } break; case Messages::BleFirmwareUpdateStarted: - LoadNewScreen(Apps::FirmwareUpdate, DisplayApp::FullRefreshDirections::Down); + LoadNewScreen(ScreenId::FirmwareUpdate, DisplayApp::FullRefreshDirections::Down); break; case Messages::BleRadioEnableToggle: PushMessageToSystemTask(System::Messages::BleRadioEnableToggle); @@ -356,7 +356,7 @@ void DisplayApp::Refresh() { // What should happen here? break; case Messages::Chime: - LoadNewScreen(Apps::Clock, DisplayApp::FullRefreshDirections::None); + LoadNewScreen(ScreenId::Clock, DisplayApp::FullRefreshDirections::None); motorController.RunForDuration(35); break; case Messages::OnChargingEvent: @@ -370,18 +370,18 @@ void DisplayApp::Refresh() { currentScreen->OnTouchEvent(touchHandler.GetX(), touchHandler.GetY()); } - if (nextApp != Apps::None) { + if (nextApp != ScreenId::None) { LoadNewScreen(nextApp, nextDirection); - nextApp = Apps::None; + nextApp = ScreenId::None; } } -void DisplayApp::StartApp(Apps app, DisplayApp::FullRefreshDirections direction) { +void DisplayApp::StartApp(ScreenId app, DisplayApp::FullRefreshDirections direction) { nextApp = app; nextDirection = direction; } -void DisplayApp::LoadNewScreen(Apps app, DisplayApp::FullRefreshDirections direction) { +void DisplayApp::LoadNewScreen(ScreenId app, DisplayApp::FullRefreshDirections direction) { // Don't add the same screen to the stack back to back. // This is mainly to fix an issue with receiving two notifications at the same time // and shouldn't happen otherwise. @@ -392,7 +392,7 @@ void DisplayApp::LoadNewScreen(Apps app, DisplayApp::FullRefreshDirections direc LoadScreen(app, direction); } -void DisplayApp::LoadScreen(Apps app, DisplayApp::FullRefreshDirections direction) { +void DisplayApp::LoadScreen(ScreenId app, DisplayApp::FullRefreshDirections direction) { lvgl.CancelTap(); lv_disp_trig_activity(nullptr); motorController.StopRinging(); @@ -401,15 +401,15 @@ void DisplayApp::LoadScreen(Apps app, DisplayApp::FullRefreshDirections directio SetFullRefresh(direction); switch (app) { - case Apps::Launcher: + case ScreenId::Launcher: currentScreen = std::make_unique(this, settingsController, batteryController, bleController, dateTimeController); break; - case Apps::Motion: + case ScreenId::Motion: // currentScreen = std::make_unique(motionController); // break; - case Apps::None: - case Apps::Clock: + case ScreenId::None: + case ScreenId::Clock: currentScreen = std::make_unique(dateTimeController, batteryController, bleController, @@ -420,22 +420,22 @@ void DisplayApp::LoadScreen(Apps app, DisplayApp::FullRefreshDirections directio filesystem); break; - case Apps::Error: + case ScreenId::Error: currentScreen = std::make_unique(bootError); break; - case Apps::FirmwareValidation: + case ScreenId::FirmwareValidation: currentScreen = std::make_unique(validator); break; - case Apps::FirmwareUpdate: + case ScreenId::FirmwareUpdate: currentScreen = std::make_unique(bleController); break; - case Apps::PassKey: + case ScreenId::PassKey: currentScreen = std::make_unique(bleController.GetPairingKey()); break; - case Apps::Notifications: + case ScreenId::Notifications: currentScreen = std::make_unique(this, notificationManager, systemTask->nimble().alertService(), @@ -443,7 +443,7 @@ void DisplayApp::LoadScreen(Apps app, DisplayApp::FullRefreshDirections directio *systemTask, Screens::Notifications::Modes::Normal); break; - case Apps::NotificationsPreview: + case ScreenId::NotificationsPreview: currentScreen = std::make_unique(this, notificationManager, systemTask->nimble().alertService(), @@ -451,15 +451,20 @@ void DisplayApp::LoadScreen(Apps app, DisplayApp::FullRefreshDirections directio *systemTask, Screens::Notifications::Modes::Preview); break; +<<<<<<< HEAD case Apps::Timer: currentScreen = std::make_unique(timer); +======= + case ScreenId::Timer: + currentScreen = std::make_unique(timerController); +>>>>>>> 4c7e85d1 (Rename Apps to ScreenIds) break; - case Apps::Alarm: + case ScreenId::Alarm: currentScreen = std::make_unique(alarmController, settingsController.GetClockType(), *systemTask, motorController); break; // Settings - case Apps::QuickSettings: + case ScreenId::QuickSettings: currentScreen = std::make_unique(this, batteryController, dateTimeController, @@ -468,40 +473,40 @@ void DisplayApp::LoadScreen(Apps app, DisplayApp::FullRefreshDirections directio settingsController, bleController); break; - case Apps::Settings: + case ScreenId::Settings: currentScreen = std::make_unique(this, settingsController); break; - case Apps::SettingWatchFace: + case ScreenId::SettingWatchFace: currentScreen = std::make_unique(this, settingsController, filesystem); break; - case Apps::SettingTimeFormat: + case ScreenId::SettingTimeFormat: currentScreen = std::make_unique(settingsController); break; - case Apps::SettingWakeUp: + case ScreenId::SettingWakeUp: currentScreen = std::make_unique(settingsController); break; - case Apps::SettingDisplay: + case ScreenId::SettingDisplay: currentScreen = std::make_unique(this, settingsController); break; - case Apps::SettingSteps: + case ScreenId::SettingSteps: currentScreen = std::make_unique(settingsController); break; - case Apps::SettingSetDateTime: + case ScreenId::SettingSetDateTime: currentScreen = std::make_unique(this, dateTimeController, settingsController); break; - case Apps::SettingChimes: + case ScreenId::SettingChimes: currentScreen = std::make_unique(settingsController); break; - case Apps::SettingShakeThreshold: + case ScreenId::SettingShakeThreshold: currentScreen = std::make_unique(settingsController, motionController, *systemTask); break; - case Apps::SettingBluetooth: + case ScreenId::SettingBluetooth: currentScreen = std::make_unique(this, settingsController); break; - case Apps::BatteryInfo: + case ScreenId::BatteryInfo: currentScreen = std::make_unique(batteryController); break; - case Apps::SysInfo: + case ScreenId::SysInfo: currentScreen = std::make_unique(this, dateTimeController, batteryController, @@ -511,34 +516,34 @@ void DisplayApp::LoadScreen(Apps app, DisplayApp::FullRefreshDirections directio motionController, touchPanel); break; - case Apps::FlashLight: + case ScreenId::FlashLight: currentScreen = std::make_unique(*systemTask, brightnessController); break; - case Apps::StopWatch: + case ScreenId::StopWatch: currentScreen = std::make_unique(*systemTask); break; - case Apps::Twos: + case ScreenId::Twos: currentScreen = std::make_unique(); break; - case Apps::Paint: + case ScreenId::Paint: currentScreen = std::make_unique(lvgl, motorController); break; - case Apps::Paddle: + case ScreenId::Paddle: currentScreen = std::make_unique(lvgl); break; - case Apps::Music: + case ScreenId::Music: currentScreen = std::make_unique(systemTask->nimble().music()); break; - case Apps::Navigation: + case ScreenId::Navigation: currentScreen = std::make_unique(systemTask->nimble().navigation()); break; - case Apps::HeartRate: + case ScreenId::HeartRate: currentScreen = std::make_unique(heartRateController, *systemTask); break; - case Apps::Metronome: + case ScreenId::Metronome: currentScreen = std::make_unique(motorController, *systemTask); break; - case Apps::Steps: + case ScreenId::Steps: currentScreen = std::make_unique(motionController, settingsController); break; } diff --git a/src/displayapp/DisplayApp.h b/src/displayapp/DisplayApp.h index f537651dbf..6f523571a0 100644 --- a/src/displayapp/DisplayApp.h +++ b/src/displayapp/DisplayApp.h @@ -4,7 +4,6 @@ #include #include #include -#include "displayapp/Apps.h" #include "displayapp/LittleVgl.h" #include "displayapp/TouchEvents.h" #include "components/brightness/BrightnessController.h" @@ -13,6 +12,7 @@ #include "components/settings/Settings.h" #include "displayapp/screens/Screen.h" #include "components/timer/Timer.h" +#include "displayapp/ScreenIds.h" #include "components/alarm/AlarmController.h" #include "touchhandler/TouchHandler.h" @@ -68,7 +68,7 @@ namespace Pinetime { void Start(System::BootErrors error); void PushMessage(Display::Messages msg); - void StartApp(Apps app, DisplayApp::FullRefreshDirections direction); + void StartApp(ScreenId app, DisplayApp::FullRefreshDirections direction); void SetFullRefresh(FullRefreshDirections direction); @@ -106,8 +106,8 @@ namespace Pinetime { std::unique_ptr currentScreen; - Apps currentApp = Apps::None; - Apps returnToApp = Apps::None; + ScreenId currentApp = ScreenId::None; + ScreenId returnToApp = ScreenId::None; FullRefreshDirections returnDirection = FullRefreshDirections::None; TouchEvents returnTouchEvent = TouchEvents::None; @@ -115,17 +115,17 @@ namespace Pinetime { static void Process(void* instance); void InitHw(); void Refresh(); - void LoadNewScreen(Apps app, DisplayApp::FullRefreshDirections direction); - void LoadScreen(Apps app, DisplayApp::FullRefreshDirections direction); + void LoadNewScreen(ScreenId app, DisplayApp::FullRefreshDirections direction); + void LoadScreen(ScreenId app, DisplayApp::FullRefreshDirections direction); void PushMessageToSystemTask(Pinetime::System::Messages message); - Apps nextApp = Apps::None; + ScreenId nextApp = ScreenId::None; DisplayApp::FullRefreshDirections nextDirection; System::BootErrors bootError; void ApplyBrightness(); static constexpr size_t returnAppStackSize = 10; - Utility::StaticStack returnAppStack; + Utility::StaticStack returnAppStack; Utility::StaticStack appStackDirections; bool isDimmed = false; diff --git a/src/displayapp/DisplayAppRecovery.h b/src/displayapp/DisplayAppRecovery.h index 3ce9518773..6091d2a632 100644 --- a/src/displayapp/DisplayAppRecovery.h +++ b/src/displayapp/DisplayAppRecovery.h @@ -11,7 +11,6 @@ #include #include "BootErrors.h" #include "displayapp/TouchEvents.h" -#include "displayapp/Apps.h" #include "displayapp/Messages.h" namespace Pinetime { diff --git a/src/displayapp/Apps.h b/src/displayapp/ScreenIds.h similarity index 96% rename from src/displayapp/Apps.h rename to src/displayapp/ScreenIds.h index f253bc0387..e3bb29d746 100644 --- a/src/displayapp/Apps.h +++ b/src/displayapp/ScreenIds.h @@ -2,7 +2,7 @@ namespace Pinetime { namespace Applications { - enum class Apps { + enum class ScreenId { None, Launcher, Clock, diff --git a/src/displayapp/screens/ApplicationList.cpp b/src/displayapp/screens/ApplicationList.cpp index 0a65a5d472..402c26d1cc 100644 --- a/src/displayapp/screens/ApplicationList.cpp +++ b/src/displayapp/screens/ApplicationList.cpp @@ -1,7 +1,6 @@ #include "displayapp/screens/ApplicationList.h" #include #include -#include "displayapp/Apps.h" #include "displayapp/DisplayApp.h" using namespace Pinetime::Applications::Screens; diff --git a/src/displayapp/screens/ApplicationList.h b/src/displayapp/screens/ApplicationList.h index 7bdd115408..4db52c8643 100644 --- a/src/displayapp/screens/ApplicationList.h +++ b/src/displayapp/screens/ApplicationList.h @@ -3,6 +3,7 @@ #include #include +#include "displayapp/ScreenIds.h" #include "displayapp/screens/Screen.h" #include "displayapp/screens/ScreenList.h" #include "components/datetime/DateTimeController.h" @@ -40,21 +41,21 @@ namespace Pinetime { static constexpr int nScreens = 2; static constexpr std::array applications {{ - {Symbols::stopWatch, Apps::StopWatch}, - {Symbols::clock, Apps::Alarm}, - {Symbols::hourGlass, Apps::Timer}, - {Symbols::shoe, Apps::Steps}, - {Symbols::heartBeat, Apps::HeartRate}, - {Symbols::music, Apps::Music}, - - {Symbols::paintbrush, Apps::Paint}, - {Symbols::paddle, Apps::Paddle}, - {"2", Apps::Twos}, - {Symbols::drum, Apps::Metronome}, - {Symbols::map, Apps::Navigation}, - {Symbols::none, Apps::None}, - - // {"M", Apps::Motion}, + {Symbols::stopWatch, ScreenId::StopWatch}, + {Symbols::clock, ScreenId::Alarm}, + {Symbols::hourGlass, ScreenId::Timer}, + {Symbols::shoe, ScreenId::Steps}, + {Symbols::heartBeat, ScreenId::HeartRate}, + {Symbols::music, ScreenId::Music}, + + {Symbols::paintbrush, ScreenId::Paint}, + {Symbols::paddle, ScreenId::Paddle}, + {"2", ScreenId::Twos}, + {Symbols::drum, ScreenId::Metronome}, + {Symbols::map, ScreenId::Navigation}, + {Symbols::none, ScreenId::None}, + + // {"M", ScreenId::Motion}, }}; ScreenList screens; }; diff --git a/src/displayapp/screens/CheckboxList.h b/src/displayapp/screens/CheckboxList.h index c208bc489d..7530f72435 100644 --- a/src/displayapp/screens/CheckboxList.h +++ b/src/displayapp/screens/CheckboxList.h @@ -1,6 +1,5 @@ #pragma once -#include "displayapp/Apps.h" #include "displayapp/screens/Screen.h" #include #include diff --git a/src/displayapp/screens/List.cpp b/src/displayapp/screens/List.cpp index 264b4fc98b..f9f2e99e62 100644 --- a/src/displayapp/screens/List.cpp +++ b/src/displayapp/screens/List.cpp @@ -40,7 +40,7 @@ List::List(uint8_t screenID, for (int i = 0; i < MAXLISTITEMS; i++) { apps[i] = applications[i].application; - if (applications[i].application != Apps::None) { + if (applications[i].application != ScreenId::None) { static constexpr int btnHeight = (LV_HOR_RES_MAX - ((MAXLISTITEMS - 1) * innerPad)) / MAXLISTITEMS; itemApps[i] = lv_btn_create(container, nullptr); @@ -75,7 +75,7 @@ List::~List() { void List::OnButtonEvent(lv_obj_t* object, lv_event_t event) { if (event == LV_EVENT_CLICKED) { for (int i = 0; i < MAXLISTITEMS; i++) { - if (apps[i] != Apps::None && object == itemApps[i]) { + if (apps[i] != ScreenId::None && object == itemApps[i]) { app->StartApp(apps[i], DisplayApp::FullRefreshDirections::Up); running = false; return; diff --git a/src/displayapp/screens/List.h b/src/displayapp/screens/List.h index 564229e694..71a6335c31 100644 --- a/src/displayapp/screens/List.h +++ b/src/displayapp/screens/List.h @@ -5,7 +5,7 @@ #include #include "displayapp/screens/Screen.h" #include "displayapp/widgets/PageIndicator.h" -#include "displayapp/Apps.h" +#include "displayapp/ScreenIds.h" #include "components/settings/Settings.h" #define MAXLISTITEMS 4 @@ -18,7 +18,7 @@ namespace Pinetime { struct Applications { const char* icon; const char* name; - Pinetime::Applications::Apps application; + Pinetime::Applications::ScreenId application; }; explicit List(uint8_t screenID, @@ -33,7 +33,7 @@ namespace Pinetime { private: DisplayApp* app; Controllers::Settings& settingsController; - Pinetime::Applications::Apps apps[MAXLISTITEMS]; + Pinetime::Applications::ScreenId apps[MAXLISTITEMS]; lv_obj_t* itemApps[MAXLISTITEMS]; diff --git a/src/displayapp/screens/Tile.cpp b/src/displayapp/screens/Tile.cpp index 1266f379f8..9a800d59c5 100644 --- a/src/displayapp/screens/Tile.cpp +++ b/src/displayapp/screens/Tile.cpp @@ -51,7 +51,7 @@ Tile::Tile(uint8_t screenID, if (i == 3) { btnmMap[btIndex++] = "\n"; } - if (applications[i].application == Apps::None) { + if (applications[i].application == ScreenId::None) { btnmMap[btIndex] = " "; } else { btnmMap[btIndex] = applications[i].icon; @@ -76,7 +76,7 @@ Tile::Tile(uint8_t screenID, for (uint8_t i = 0; i < 6; i++) { lv_btnmatrix_set_btn_ctrl(btnm1, i, LV_BTNMATRIX_CTRL_CLICK_TRIG); - if (applications[i].application == Apps::None) { + if (applications[i].application == ScreenId::None) { lv_btnmatrix_set_btn_ctrl(btnm1, i, LV_BTNMATRIX_CTRL_DISABLED); } } diff --git a/src/displayapp/screens/Tile.h b/src/displayapp/screens/Tile.h index 91acb26c7b..f72ad8c259 100644 --- a/src/displayapp/screens/Tile.h +++ b/src/displayapp/screens/Tile.h @@ -4,7 +4,7 @@ #include #include #include "displayapp/screens/Screen.h" -#include "displayapp/Apps.h" +#include "displayapp/ScreenIds.h" #include "components/datetime/DateTimeController.h" #include "components/settings/Settings.h" #include "components/battery/BatteryController.h" @@ -18,7 +18,7 @@ namespace Pinetime { public: struct Applications { const char* icon; - Pinetime::Applications::Apps application; + Pinetime::Applications::ScreenId application; }; explicit Tile(uint8_t screenID, @@ -48,7 +48,7 @@ namespace Pinetime { Widgets::StatusIcons statusIcons; const char* btnmMap[8]; - Pinetime::Applications::Apps apps[6]; + Pinetime::Applications::ScreenId apps[6]; }; } } diff --git a/src/displayapp/screens/settings/QuickSettings.cpp b/src/displayapp/screens/settings/QuickSettings.cpp index 0548488855..9ba3b2e26c 100644 --- a/src/displayapp/screens/settings/QuickSettings.cpp +++ b/src/displayapp/screens/settings/QuickSettings.cpp @@ -4,6 +4,7 @@ #include "displayapp/screens/BatteryIcon.h" #include "components/ble/BleController.h" #include "displayapp/InfiniTimeTheme.h" +#include "displayapp/ScreenIds.h" using namespace Pinetime::Applications::Screens; @@ -137,7 +138,7 @@ void QuickSettings::UpdateScreen() { void QuickSettings::OnButtonEvent(lv_obj_t* object) { if (object == btn2) { - app->StartApp(Apps::FlashLight, DisplayApp::FullRefreshDirections::Up); + app->StartApp(ScreenId::FlashLight, DisplayApp::FullRefreshDirections::Up); } else if (object == btn1) { brightness.Step(); @@ -163,6 +164,6 @@ void QuickSettings::OnButtonEvent(lv_obj_t* object) { } else if (object == btn4) { settingsController.SetSettingsMenu(0); - app->StartApp(Apps::Settings, DisplayApp::FullRefreshDirections::Up); + app->StartApp(ScreenId::Settings, DisplayApp::FullRefreshDirections::Up); } } diff --git a/src/displayapp/screens/settings/Settings.cpp b/src/displayapp/screens/settings/Settings.cpp index 065417fa7c..d959ea7959 100644 --- a/src/displayapp/screens/settings/Settings.cpp +++ b/src/displayapp/screens/settings/Settings.cpp @@ -1,7 +1,6 @@ #include "displayapp/screens/settings/Settings.h" #include #include -#include "displayapp/Apps.h" #include "displayapp/DisplayApp.h" using namespace Pinetime::Applications::Screens; diff --git a/src/displayapp/screens/settings/Settings.h b/src/displayapp/screens/settings/Settings.h index 3f8097538e..f16216f838 100644 --- a/src/displayapp/screens/settings/Settings.h +++ b/src/displayapp/screens/settings/Settings.h @@ -2,6 +2,7 @@ #include #include +#include "displayapp/ScreenIds.h" #include "displayapp/screens/Screen.h" #include "displayapp/screens/ScreenList.h" #include "displayapp/screens/Symbols.h" @@ -32,25 +33,25 @@ namespace Pinetime { static constexpr int nScreens = 3; static constexpr std::array entries {{ - {Symbols::sun, "Display", Apps::SettingDisplay}, - {Symbols::eye, "Wake Up", Apps::SettingWakeUp}, - {Symbols::clock, "Time format", Apps::SettingTimeFormat}, - {Symbols::home, "Watch face", Apps::SettingWatchFace}, - - {Symbols::shoe, "Steps", Apps::SettingSteps}, - {Symbols::clock, "Date&Time", Apps::SettingSetDateTime}, - {Symbols::batteryHalf, "Battery", Apps::BatteryInfo}, - {Symbols::clock, "Chimes", Apps::SettingChimes}, - - {Symbols::tachometer, "Shake Calib.", Apps::SettingShakeThreshold}, - {Symbols::check, "Firmware", Apps::FirmwareValidation}, - {Symbols::bluetooth, "Bluetooth", Apps::SettingBluetooth}, - {Symbols::list, "About", Apps::SysInfo}, - - // {Symbols::none, "None", Apps::None}, - // {Symbols::none, "None", Apps::None}, - // {Symbols::none, "None", Apps::None}, - // {Symbols::none, "None", Apps::None}, + {Symbols::sun, "Display", ScreenId::SettingDisplay}, + {Symbols::eye, "Wake Up", ScreenId::SettingWakeUp}, + {Symbols::clock, "Time format", ScreenId::SettingTimeFormat}, + {Symbols::home, "Watch face", ScreenId::SettingWatchFace}, + + {Symbols::shoe, "Steps", ScreenId::SettingSteps}, + {Symbols::clock, "Date&Time", ScreenId::SettingSetDateTime}, + {Symbols::batteryHalf, "Battery", ScreenId::BatteryInfo}, + {Symbols::clock, "Chimes", ScreenId::SettingChimes}, + + {Symbols::tachometer, "Shake Calib.", ScreenId::SettingShakeThreshold}, + {Symbols::check, "Firmware", ScreenId::FirmwareValidation}, + {Symbols::bluetooth, "Bluetooth", ScreenId::SettingBluetooth}, + {Symbols::list, "About", ScreenId::SysInfo}, + + // {Symbols::none, "None", ScreenId::None}, + // {Symbols::none, "None", ScreenId::None}, + // {Symbols::none, "None", ScreenId::None}, + // {Symbols::none, "None", ScreenId::None}, }}; ScreenList screens; From e44b8b7ea487c12518bed030329540ebe97c529e Mon Sep 17 00:00:00 2001 From: minacode Date: Wed, 10 May 2023 12:48:12 +0200 Subject: [PATCH 2/6] fix display app --- src/displayapp/DisplayApp.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index 6448674d52..46f95343eb 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -451,13 +451,8 @@ void DisplayApp::LoadScreen(ScreenId app, DisplayApp::FullRefreshDirections dire *systemTask, Screens::Notifications::Modes::Preview); break; -<<<<<<< HEAD - case Apps::Timer: - currentScreen = std::make_unique(timer); -======= case ScreenId::Timer: - currentScreen = std::make_unique(timerController); ->>>>>>> 4c7e85d1 (Rename Apps to ScreenIds) + currentScreen = std::make_unique(timer); break; case ScreenId::Alarm: currentScreen = std::make_unique(alarmController, settingsController.GetClockType(), *systemTask, motorController); From 2bb33851dba06524f82a1b33381090939fdccea9 Mon Sep 17 00:00:00 2001 From: Max Friedrich Date: Sat, 20 May 2023 13:45:03 +0200 Subject: [PATCH 3/6] DisplayApp.h: remove app from variable names Change all variables in DisplayApp.h mentioning apps to be in line with the new ScreenIds. --- src/displayapp/DisplayApp.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/displayapp/DisplayApp.h b/src/displayapp/DisplayApp.h index 6f523571a0..0fa35d800c 100644 --- a/src/displayapp/DisplayApp.h +++ b/src/displayapp/DisplayApp.h @@ -68,7 +68,7 @@ namespace Pinetime { void Start(System::BootErrors error); void PushMessage(Display::Messages msg); - void StartApp(ScreenId app, DisplayApp::FullRefreshDirections direction); + void StartApp(ScreenId screenId, DisplayApp::FullRefreshDirections direction); void SetFullRefresh(FullRefreshDirections direction); @@ -106,8 +106,8 @@ namespace Pinetime { std::unique_ptr currentScreen; - ScreenId currentApp = ScreenId::None; - ScreenId returnToApp = ScreenId::None; + ScreenId currentScreenId = ScreenId::None; + ScreenId returnToScreenId = ScreenId::None; FullRefreshDirections returnDirection = FullRefreshDirections::None; TouchEvents returnTouchEvent = TouchEvents::None; @@ -124,9 +124,9 @@ namespace Pinetime { System::BootErrors bootError; void ApplyBrightness(); - static constexpr size_t returnAppStackSize = 10; - Utility::StaticStack returnAppStack; - Utility::StaticStack appStackDirections; + static constexpr size_t returnStackSize = 10; + Utility::StaticStack returnStack; + Utility::StaticStack StackDirections; bool isDimmed = false; }; From a0092c77c657dba97207fb959df81024ceba903c Mon Sep 17 00:00:00 2001 From: Max Friedrich Date: Sat, 20 May 2023 13:56:24 +0200 Subject: [PATCH 4/6] DisplayApp.cpp: remove app variable names Change all variable names to be in line with the ScreenId renaming. --- src/displayapp/DisplayApp.cpp | 52 +++++++++++++++++------------------ 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index 46f95343eb..08e59c80f8 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -139,7 +139,7 @@ void DisplayApp::InitHw() { void DisplayApp::Refresh() { auto LoadPreviousScreen = [this]() { FullRefreshDirections returnDirection; - switch (appStackDirections.Pop()) { + switch (stackDirections.Pop()) { case FullRefreshDirections::Up: returnDirection = FullRefreshDirections::Down; break; @@ -156,7 +156,7 @@ void DisplayApp::Refresh() { returnDirection = FullRefreshDirections::None; break; } - LoadScreen(returnAppStack.Pop(), returnDirection); + LoadScreen(returnStack.Pop(), returnDirection); }; auto DimScreen = [this]() { @@ -245,7 +245,7 @@ void DisplayApp::Refresh() { if (state != States::Running) { PushMessageToSystemTask(System::Messages::GoToRunning); } - if (currentApp == ScreenId::Timer) { + if (currentScreenId == ScreenId::Timer) { lv_disp_trig_activity(nullptr); auto* timer = static_cast(currentScreen.get()); timer->Reset(); @@ -255,7 +255,7 @@ void DisplayApp::Refresh() { motorController.RunForDuration(35); break; case Messages::AlarmTriggered: - if (currentApp == ScreenId::Alarm) { + if (currentScreenId == ScreenId::Alarm) { auto* alarm = static_cast(currentScreen.get()); alarm->SetAlerting(); } else { @@ -289,7 +289,7 @@ void DisplayApp::Refresh() { } }; if (!currentScreen->OnTouchEvent(gesture)) { - if (currentApp == ScreenId::Clock) { + if (currentScreenId == ScreenId::Clock) { switch (gesture) { case TouchEvents::SwipeUp: LoadNewScreen(ScreenId::Launcher, DisplayApp::FullRefreshDirections::Up); @@ -306,7 +306,7 @@ void DisplayApp::Refresh() { default: break; } - } else if (gesture == LoadDirToReturnSwipe(appStackDirections.Top())) { + } else if (gesture == LoadDirToReturnSwipe(stackDirections.Top())) { LoadPreviousScreen(); } } else { @@ -315,7 +315,7 @@ void DisplayApp::Refresh() { } break; case Messages::ButtonPushed: if (!currentScreen->OnButtonPushed()) { - if (currentApp == ScreenId::Clock) { + if (currentScreenId == ScreenId::Clock) { PushMessageToSystemTask(System::Messages::GoToSleep); } else { LoadPreviousScreen(); @@ -323,16 +323,16 @@ void DisplayApp::Refresh() { } break; case Messages::ButtonLongPressed: - if (currentApp != ScreenId::Clock) { - if (currentApp == ScreenId::Notifications) { + if (currentScreenId != ScreenId::Clock) { + if (currentScreenId == ScreenId::Notifications) { LoadNewScreen(ScreenId::Clock, DisplayApp::FullRefreshDirections::Up); - } else if (currentApp == ScreenId::QuickSettings) { + } else if (currentScreenId == ScreenId::QuickSettings) { LoadNewScreen(ScreenId::Clock, DisplayApp::FullRefreshDirections::LeftAnim); } else { LoadNewScreen(ScreenId::Clock, DisplayApp::FullRefreshDirections::Down); } - appStackDirections.Reset(); - returnAppStack.Reset(); + stackDirections.Reset(); + returnStack.Reset(); } break; case Messages::ButtonLongerPressed: @@ -340,7 +340,7 @@ void DisplayApp::Refresh() { LoadNewScreen(ScreenId::SysInfo, DisplayApp::FullRefreshDirections::Up); break; case Messages::ButtonDoubleClicked: - if (currentApp != ScreenId::Notifications && currentApp != ScreenId::NotificationsPreview) { + if (currentScreenId != ScreenId::Notifications && currentScreenId != ScreenId::NotificationsPreview) { LoadNewScreen(ScreenId::Notifications, DisplayApp::FullRefreshDirections::Down); } break; @@ -370,29 +370,29 @@ void DisplayApp::Refresh() { currentScreen->OnTouchEvent(touchHandler.GetX(), touchHandler.GetY()); } - if (nextApp != ScreenId::None) { - LoadNewScreen(nextApp, nextDirection); - nextApp = ScreenId::None; + if (nextScreenId != ScreenId::None) { + LoadNewScreen(nextScreenId, nextDirection); + nextScreenId = ScreenId::None; } } -void DisplayApp::StartApp(ScreenId app, DisplayApp::FullRefreshDirections direction) { - nextApp = app; +void DisplayApp::StartApp(ScreenId screenId, DisplayApp::FullRefreshDirections direction) { + nextScreenId = screenId; nextDirection = direction; } -void DisplayApp::LoadNewScreen(ScreenId app, DisplayApp::FullRefreshDirections direction) { +void DisplayApp::LoadNewScreen(ScreenId screenId, DisplayApp::FullRefreshDirections direction) { // Don't add the same screen to the stack back to back. // This is mainly to fix an issue with receiving two notifications at the same time // and shouldn't happen otherwise. - if (app != currentApp) { - returnAppStack.Push(currentApp); - appStackDirections.Push(direction); + if (screenId != currentScreenId) { + returnStack.Push(currentScreenId); + stackDirections.Push(direction); } - LoadScreen(app, direction); + LoadScreen(screenId, direction); } -void DisplayApp::LoadScreen(ScreenId app, DisplayApp::FullRefreshDirections direction) { +void DisplayApp::LoadScreen(ScreenId screenId, DisplayApp::FullRefreshDirections direction) { lvgl.CancelTap(); lv_disp_trig_activity(nullptr); motorController.StopRinging(); @@ -400,7 +400,7 @@ void DisplayApp::LoadScreen(ScreenId app, DisplayApp::FullRefreshDirections dire currentScreen.reset(nullptr); SetFullRefresh(direction); - switch (app) { + switch (screenId) { case ScreenId::Launcher: currentScreen = std::make_unique(this, settingsController, batteryController, bleController, dateTimeController); @@ -542,7 +542,7 @@ void DisplayApp::LoadScreen(ScreenId app, DisplayApp::FullRefreshDirections dire currentScreen = std::make_unique(motionController, settingsController); break; } - currentApp = app; + currentScreenId = screenId; } void DisplayApp::PushMessage(Messages msg) { From ae41239653eea0b33c646a7afb7897322ed82cc5 Mon Sep 17 00:00:00 2001 From: Max Friedrich Date: Sat, 20 May 2023 13:58:59 +0200 Subject: [PATCH 5/6] Update DisplayApp.h Fix typo --- src/displayapp/DisplayApp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/displayapp/DisplayApp.h b/src/displayapp/DisplayApp.h index 0fa35d800c..8447c30e3b 100644 --- a/src/displayapp/DisplayApp.h +++ b/src/displayapp/DisplayApp.h @@ -126,7 +126,7 @@ namespace Pinetime { static constexpr size_t returnStackSize = 10; Utility::StaticStack returnStack; - Utility::StaticStack StackDirections; + Utility::StaticStack stackDirections; bool isDimmed = false; }; From 6e8369e441b483e2422aa198348a5b0c6ec2c10e Mon Sep 17 00:00:00 2001 From: Max Friedrich Date: Sat, 20 May 2023 14:02:49 +0200 Subject: [PATCH 6/6] Update DisplayApp.h Fix missing changes. --- src/displayapp/DisplayApp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/displayapp/DisplayApp.h b/src/displayapp/DisplayApp.h index 8447c30e3b..69f32b026a 100644 --- a/src/displayapp/DisplayApp.h +++ b/src/displayapp/DisplayApp.h @@ -115,11 +115,11 @@ namespace Pinetime { static void Process(void* instance); void InitHw(); void Refresh(); - void LoadNewScreen(ScreenId app, DisplayApp::FullRefreshDirections direction); - void LoadScreen(ScreenId app, DisplayApp::FullRefreshDirections direction); + void LoadNewScreen(ScreenId screenId, DisplayApp::FullRefreshDirections direction); + void LoadScreen(ScreenId screenId, DisplayApp::FullRefreshDirections direction); void PushMessageToSystemTask(Pinetime::System::Messages message); - ScreenId nextApp = ScreenId::None; + ScreenId nextScreenId = ScreenId::None; DisplayApp::FullRefreshDirections nextDirection; System::BootErrors bootError; void ApplyBrightness();