diff options
| author | Riku Isokoski <riksu9000@gmail.com> | 2023-02-22 22:05:37 +0200 |
|---|---|---|
| committer | Riku Isokoski <riksu9000@gmail.com> | 2023-02-25 16:56:03 +0200 |
| commit | 7c7a8602c473bc160506e064097bd9ecc204425b (patch) | |
| tree | 1731d2fa118ab899dd9107664122ab6fc4f0679b /src | |
| parent | e2d40847015006fb07ee23ea198df8c39b183b58 (diff) | |
screens: Remove displayapp parameter from screen
The DisplayApp class isn't used in the Screen base class and most
screens, so requiring it is pointless.
In this commit, DisplayApp pointers were added to screens which use it
and the explicit Screen constructor was removed in those screens.
Diffstat (limited to 'src')
30 files changed, 44 insertions, 29 deletions
diff --git a/src/displayapp/screens/ApplicationList.cpp b/src/displayapp/screens/ApplicationList.cpp index d5f815db..0a65a5d4 100644 --- a/src/displayapp/screens/ApplicationList.cpp +++ b/src/displayapp/screens/ApplicationList.cpp @@ -23,7 +23,7 @@ ApplicationList::ApplicationList(Pinetime::Applications::DisplayApp* app, const Pinetime::Controllers::Battery& batteryController, const Pinetime::Controllers::Ble& bleController, Controllers::DateTime& dateTimeController) - : Screen(app), + : app {app}, settingsController {settingsController}, batteryController {batteryController}, bleController {bleController}, diff --git a/src/displayapp/screens/ApplicationList.h b/src/displayapp/screens/ApplicationList.h index eff4c8a6..4a9b347f 100644 --- a/src/displayapp/screens/ApplicationList.h +++ b/src/displayapp/screens/ApplicationList.h @@ -25,6 +25,7 @@ namespace Pinetime { bool OnTouchEvent(TouchEvents event) override; private: + DisplayApp* app; auto CreateScreenList() const; std::unique_ptr<Screen> CreateScreen(unsigned int screenNum) const; diff --git a/src/displayapp/screens/Clock.cpp b/src/displayapp/screens/Clock.cpp index 640a393d..8627fb45 100644 --- a/src/displayapp/screens/Clock.cpp +++ b/src/displayapp/screens/Clock.cpp @@ -26,7 +26,7 @@ Clock::Clock(DisplayApp* app, Controllers::HeartRateController& heartRateController, Controllers::MotionController& motionController, Controllers::FS& filesystem) - : Screen(app), + : app {app}, dateTimeController {dateTimeController}, batteryController {batteryController}, bleController {bleController}, diff --git a/src/displayapp/screens/Clock.h b/src/displayapp/screens/Clock.h index dd97fa9b..8cd92090 100644 --- a/src/displayapp/screens/Clock.h +++ b/src/displayapp/screens/Clock.h @@ -36,6 +36,7 @@ namespace Pinetime { bool OnButtonPushed() override; private: + DisplayApp* app; Controllers::DateTime& dateTimeController; const Controllers::Battery& batteryController; const Controllers::Ble& bleController; diff --git a/src/displayapp/screens/Label.cpp b/src/displayapp/screens/Label.cpp index d5a09be9..e85e2a5a 100644 --- a/src/displayapp/screens/Label.cpp +++ b/src/displayapp/screens/Label.cpp @@ -2,8 +2,8 @@ using namespace Pinetime::Applications::Screens; -Label::Label(uint8_t screenID, uint8_t numScreens, Pinetime::Applications::DisplayApp* app, lv_obj_t* labelText) - : Screen(app), labelText {labelText}, pageIndicator(screenID, numScreens) { +Label::Label(uint8_t screenID, uint8_t numScreens, lv_obj_t* labelText) + : labelText {labelText}, pageIndicator(screenID, numScreens) { pageIndicator.Create(); } diff --git a/src/displayapp/screens/Label.h b/src/displayapp/screens/Label.h index acd8b377..33c5ff96 100644 --- a/src/displayapp/screens/Label.h +++ b/src/displayapp/screens/Label.h @@ -10,7 +10,7 @@ namespace Pinetime { class Label : public Screen { public: - Label(uint8_t screenID, uint8_t numScreens, DisplayApp* app, lv_obj_t* labelText); + Label(uint8_t screenID, uint8_t numScreens, lv_obj_t* labelText); ~Label() override; private: diff --git a/src/displayapp/screens/List.cpp b/src/displayapp/screens/List.cpp index 3f219ea1..264b4fc9 100644 --- a/src/displayapp/screens/List.cpp +++ b/src/displayapp/screens/List.cpp @@ -17,7 +17,7 @@ List::List(uint8_t screenID, DisplayApp* app, Controllers::Settings& settingsController, std::array<Applications, MAXLISTITEMS>& applications) - : Screen(app), settingsController {settingsController}, pageIndicator(screenID, numScreens) { + : app {app}, settingsController {settingsController}, pageIndicator(screenID, numScreens) { // Set the background to Black lv_obj_set_style_local_bg_color(lv_scr_act(), LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, lv_color_make(0, 0, 0)); diff --git a/src/displayapp/screens/List.h b/src/displayapp/screens/List.h index b5bc032c..564229e6 100644 --- a/src/displayapp/screens/List.h +++ b/src/displayapp/screens/List.h @@ -31,6 +31,7 @@ namespace Pinetime { void OnButtonEvent(lv_obj_t* object, lv_event_t event); private: + DisplayApp* app; Controllers::Settings& settingsController; Pinetime::Applications::Apps apps[MAXLISTITEMS]; diff --git a/src/displayapp/screens/Notifications.cpp b/src/displayapp/screens/Notifications.cpp index 6c68c70d..037c43a7 100644 --- a/src/displayapp/screens/Notifications.cpp +++ b/src/displayapp/screens/Notifications.cpp @@ -16,7 +16,7 @@ Notifications::Notifications(DisplayApp* app, Pinetime::Controllers::MotorController& motorController, System::SystemTask& systemTask, Modes mode) - : Screen(app), + : app {app}, notificationManager {notificationManager}, alertNotificationService {alertNotificationService}, motorController {motorController}, diff --git a/src/displayapp/screens/Notifications.h b/src/displayapp/screens/Notifications.h index a4d2709b..114316b3 100644 --- a/src/displayapp/screens/Notifications.h +++ b/src/displayapp/screens/Notifications.h @@ -69,6 +69,7 @@ namespace Pinetime { }; private: + DisplayApp* app; Pinetime::Controllers::NotificationManager& notificationManager; Pinetime::Controllers::AlertNotificationService& alertNotificationService; Pinetime::Controllers::MotorController& motorController; diff --git a/src/displayapp/screens/Screen.h b/src/displayapp/screens/Screen.h index 73f80191..60d73e56 100644 --- a/src/displayapp/screens/Screen.h +++ b/src/displayapp/screens/Screen.h @@ -50,9 +50,11 @@ namespace Pinetime { } public: - explicit Screen(DisplayApp* app) : app {app} { + explicit Screen(DisplayApp* app) { } + explicit Screen() = default; + virtual ~Screen() = default; static void RefreshTaskCallback(lv_task_t* task); @@ -77,7 +79,6 @@ namespace Pinetime { } protected: - DisplayApp* app; bool running = true; }; } diff --git a/src/displayapp/screens/ScreenList.h b/src/displayapp/screens/ScreenList.h index 255544b6..78f32314 100644 --- a/src/displayapp/screens/ScreenList.h +++ b/src/displayapp/screens/ScreenList.h @@ -19,7 +19,7 @@ namespace Pinetime { uint8_t initScreen, const std::array<std::function<std::unique_ptr<Screen>()>, N>&& screens, ScreenListModes mode) - : Screen(app), + : app {app}, initScreen {initScreen}, screens {std::move(screens)}, mode {mode}, @@ -102,6 +102,7 @@ namespace Pinetime { } private: + DisplayApp* app; uint8_t initScreen = 0; const std::array<std::function<std::unique_ptr<Screen>()>, N> screens; ScreenListModes mode = ScreenListModes::UpDown; diff --git a/src/displayapp/screens/SystemInfo.cpp b/src/displayapp/screens/SystemInfo.cpp index 7b399bd2..a63fc287 100644 --- a/src/displayapp/screens/SystemInfo.cpp +++ b/src/displayapp/screens/SystemInfo.cpp @@ -38,7 +38,7 @@ SystemInfo::SystemInfo(Pinetime::Applications::DisplayApp* app, Pinetime::Drivers::WatchdogView& watchdog, Pinetime::Controllers::MotionController& motionController, const Pinetime::Drivers::Cst816S& touchPanel) - : Screen(app), + : app {app}, dateTimeController {dateTimeController}, batteryController {batteryController}, brightnessController {brightnessController}, @@ -94,7 +94,7 @@ std::unique_ptr<Screen> SystemInfo::CreateScreen1() { BootloaderVersion::VersionString()); lv_label_set_align(label, LV_LABEL_ALIGN_CENTER); lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0); - return std::make_unique<Screens::Label>(0, 5, app, label); + return std::make_unique<Screens::Label>(0, 5, label); } std::unique_ptr<Screen> SystemInfo::CreateScreen2() { @@ -173,7 +173,7 @@ std::unique_ptr<Screen> SystemInfo::CreateScreen2() { touchPanel.GetFwVersion(), TARGET_DEVICE_NAME); lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0); - return std::make_unique<Screens::Label>(1, 5, app, label); + return std::make_unique<Screens::Label>(1, 5, label); } std::unique_ptr<Screen> SystemInfo::CreateScreen3() { @@ -204,7 +204,7 @@ std::unique_ptr<Screen> SystemInfo::CreateScreen3() { mon.frag_pct, static_cast<int>(mon.free_biggest_size)); lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0); - return std::make_unique<Screens::Label>(2, 5, app, label); + return std::make_unique<Screens::Label>(2, 5, label); } bool SystemInfo::sortById(const TaskStatus_t& lhs, const TaskStatus_t& rhs) { @@ -265,7 +265,7 @@ std::unique_ptr<Screen> SystemInfo::CreateScreen4() { } lv_table_set_cell_value(infoTask, i + 1, 3, buffer); } - return std::make_unique<Screens::Label>(3, 5, app, infoTask); + return std::make_unique<Screens::Label>(3, 5, infoTask); } std::unique_ptr<Screen> SystemInfo::CreateScreen5() { @@ -282,5 +282,5 @@ std::unique_ptr<Screen> SystemInfo::CreateScreen5() { "#FFFF00 InfiniTime#"); lv_label_set_align(label, LV_LABEL_ALIGN_CENTER); lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0); - return std::make_unique<Screens::Label>(4, 5, app, label); + return std::make_unique<Screens::Label>(4, 5, label); } diff --git a/src/displayapp/screens/SystemInfo.h b/src/displayapp/screens/SystemInfo.h index ec9285d7..7624afbc 100644 --- a/src/displayapp/screens/SystemInfo.h +++ b/src/displayapp/screens/SystemInfo.h @@ -34,6 +34,7 @@ namespace Pinetime { bool OnTouchEvent(TouchEvents event) override; private: + DisplayApp* app; Pinetime::Controllers::DateTime& dateTimeController; const Pinetime::Controllers::Battery& batteryController; Pinetime::Controllers::BrightnessController& brightnessController; diff --git a/src/displayapp/screens/Tile.cpp b/src/displayapp/screens/Tile.cpp index fafcfd87..4d9ee163 100644 --- a/src/displayapp/screens/Tile.cpp +++ b/src/displayapp/screens/Tile.cpp @@ -32,7 +32,7 @@ Tile::Tile(uint8_t screenID, const Controllers::Ble& bleController, Controllers::DateTime& dateTimeController, std::array<Applications, 6>& applications) - : Screen(app), + : app {app}, dateTimeController {dateTimeController}, pageIndicator(screenID, numScreens), statusIcons(batteryController, bleController) { diff --git a/src/displayapp/screens/Tile.h b/src/displayapp/screens/Tile.h index c067f29b..91acb26c 100644 --- a/src/displayapp/screens/Tile.h +++ b/src/displayapp/screens/Tile.h @@ -36,6 +36,7 @@ namespace Pinetime { void OnValueChangedEvent(lv_obj_t* obj, uint32_t buttonId); private: + DisplayApp* app; Controllers::DateTime& dateTimeController; lv_task_t* taskUpdate; diff --git a/src/displayapp/screens/Weather.cpp b/src/displayapp/screens/Weather.cpp index ff067db8..4921174c 100644 --- a/src/displayapp/screens/Weather.cpp +++ b/src/displayapp/screens/Weather.cpp @@ -26,7 +26,7 @@ using namespace Pinetime::Applications::Screens; Weather::Weather(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::WeatherService& weather) - : Screen(app), + : app {app}, weatherService(weather), screens {app, 0, @@ -97,7 +97,7 @@ std::unique_ptr<Screen> Weather::CreateScreenTemperature() { } lv_label_set_align(label, LV_LABEL_ALIGN_CENTER); lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0); - return std::unique_ptr<Screen>(new Screens::Label(0, 5, app, label)); + return std::unique_ptr<Screen>(new Screens::Label(0, 5, label)); } std::unique_ptr<Screen> Weather::CreateScreenAir() { @@ -130,7 +130,7 @@ std::unique_ptr<Screen> Weather::CreateScreenAir() { } lv_label_set_align(label, LV_LABEL_ALIGN_CENTER); lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0); - return std::unique_ptr<Screen>(new Screens::Label(0, 5, app, label)); + return std::unique_ptr<Screen>(new Screens::Label(0, 5, label)); } std::unique_ptr<Screen> Weather::CreateScreenClouds() { @@ -159,7 +159,7 @@ std::unique_ptr<Screen> Weather::CreateScreenClouds() { } lv_label_set_align(label, LV_LABEL_ALIGN_CENTER); lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0); - return std::unique_ptr<Screen>(new Screens::Label(0, 5, app, label)); + return std::unique_ptr<Screen>(new Screens::Label(0, 5, label)); } std::unique_ptr<Screen> Weather::CreateScreenPrecipitation() { @@ -188,7 +188,7 @@ std::unique_ptr<Screen> Weather::CreateScreenPrecipitation() { } lv_label_set_align(label, LV_LABEL_ALIGN_CENTER); lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0); - return std::unique_ptr<Screen>(new Screens::Label(0, 5, app, label)); + return std::unique_ptr<Screen>(new Screens::Label(0, 5, label)); } std::unique_ptr<Screen> Weather::CreateScreenHumidity() { @@ -217,5 +217,5 @@ std::unique_ptr<Screen> Weather::CreateScreenHumidity() { } lv_label_set_align(label, LV_LABEL_ALIGN_CENTER); lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0); - return std::unique_ptr<Screen>(new Screens::Label(0, 5, app, label)); + return std::unique_ptr<Screen>(new Screens::Label(0, 5, label)); } diff --git a/src/displayapp/screens/Weather.h b/src/displayapp/screens/Weather.h index 21b05bd8..459534aa 100644 --- a/src/displayapp/screens/Weather.h +++ b/src/displayapp/screens/Weather.h @@ -23,6 +23,7 @@ namespace Pinetime { bool OnTouchEvent(TouchEvents event) override; private: + DisplayApp* app; bool running = true; Controllers::WeatherService& weatherService; diff --git a/src/displayapp/screens/settings/QuickSettings.cpp b/src/displayapp/screens/settings/QuickSettings.cpp index c98b5cee..05484888 100644 --- a/src/displayapp/screens/settings/QuickSettings.cpp +++ b/src/displayapp/screens/settings/QuickSettings.cpp @@ -34,7 +34,7 @@ QuickSettings::QuickSettings(Pinetime::Applications::DisplayApp* app, Controllers::MotorController& motorController, Pinetime::Controllers::Settings& settingsController, const Controllers::Ble& bleController) - : Screen(app), + : app {app}, dateTimeController {dateTimeController}, brightness {brightness}, motorController {motorController}, diff --git a/src/displayapp/screens/settings/QuickSettings.h b/src/displayapp/screens/settings/QuickSettings.h index 6f03bc22..55da6176 100644 --- a/src/displayapp/screens/settings/QuickSettings.h +++ b/src/displayapp/screens/settings/QuickSettings.h @@ -32,6 +32,7 @@ namespace Pinetime { void UpdateScreen(); private: + DisplayApp* app; Controllers::DateTime& dateTimeController; Controllers::BrightnessController& brightness; Controllers::MotorController& motorController; diff --git a/src/displayapp/screens/settings/SettingBluetooth.cpp b/src/displayapp/screens/settings/SettingBluetooth.cpp index fd07be88..75a62d89 100644 --- a/src/displayapp/screens/settings/SettingBluetooth.cpp +++ b/src/displayapp/screens/settings/SettingBluetooth.cpp @@ -35,7 +35,7 @@ namespace { } SettingBluetooth::SettingBluetooth(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::Settings& settingsController) - : Screen(app), + : app {app}, checkboxList( 0, 1, diff --git a/src/displayapp/screens/settings/SettingBluetooth.h b/src/displayapp/screens/settings/SettingBluetooth.h index 611a0d5c..1e3f9b81 100644 --- a/src/displayapp/screens/settings/SettingBluetooth.h +++ b/src/displayapp/screens/settings/SettingBluetooth.h @@ -19,6 +19,7 @@ namespace Pinetime { ~SettingBluetooth() override; private: + DisplayApp* app; CheckboxList checkboxList; }; } diff --git a/src/displayapp/screens/settings/SettingDisplay.cpp b/src/displayapp/screens/settings/SettingDisplay.cpp index e044a85a..a9476432 100644 --- a/src/displayapp/screens/settings/SettingDisplay.cpp +++ b/src/displayapp/screens/settings/SettingDisplay.cpp @@ -18,7 +18,7 @@ namespace { constexpr std::array<uint16_t, 6> SettingDisplay::options; SettingDisplay::SettingDisplay(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::Settings& settingsController) - : Screen(app), settingsController {settingsController} { + : app {app}, settingsController {settingsController} { lv_obj_t* container1 = lv_cont_create(lv_scr_act(), nullptr); diff --git a/src/displayapp/screens/settings/SettingDisplay.h b/src/displayapp/screens/settings/SettingDisplay.h index eeddaef8..64212c02 100644 --- a/src/displayapp/screens/settings/SettingDisplay.h +++ b/src/displayapp/screens/settings/SettingDisplay.h @@ -20,6 +20,7 @@ namespace Pinetime { void UpdateSelected(lv_obj_t* object, lv_event_t event); private: + DisplayApp* app; static constexpr std::array<uint16_t, 6> options = {5000, 7000, 10000, 15000, 20000, 30000}; Controllers::Settings& settingsController; diff --git a/src/displayapp/screens/settings/SettingSetDateTime.cpp b/src/displayapp/screens/settings/SettingSetDateTime.cpp index 905a76ab..6a06aae4 100644 --- a/src/displayapp/screens/settings/SettingSetDateTime.cpp +++ b/src/displayapp/screens/settings/SettingSetDateTime.cpp @@ -15,7 +15,7 @@ bool SettingSetDateTime::OnTouchEvent(Pinetime::Applications::TouchEvents event) SettingSetDateTime::SettingSetDateTime(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::DateTime& dateTimeController, Pinetime::Controllers::Settings& settingsController) - : Screen(app), + : app {app}, dateTimeController {dateTimeController}, settingsController {settingsController}, screens {app, diff --git a/src/displayapp/screens/settings/SettingSetDateTime.h b/src/displayapp/screens/settings/SettingSetDateTime.h index dea283f8..051b1abe 100644 --- a/src/displayapp/screens/settings/SettingSetDateTime.h +++ b/src/displayapp/screens/settings/SettingSetDateTime.h @@ -20,6 +20,7 @@ namespace Pinetime { void Quit(); private: + DisplayApp* app; Controllers::DateTime& dateTimeController; Controllers::Settings& settingsController; diff --git a/src/displayapp/screens/settings/SettingWatchFace.cpp b/src/displayapp/screens/settings/SettingWatchFace.cpp index da32b5ee..03ff3b8b 100644 --- a/src/displayapp/screens/settings/SettingWatchFace.cpp +++ b/src/displayapp/screens/settings/SettingWatchFace.cpp @@ -22,7 +22,7 @@ auto SettingWatchFace::CreateScreenList() const { SettingWatchFace::SettingWatchFace(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::Settings& settingsController, Pinetime::Controllers::FS& filesystem) - : Screen(app), + : app {app}, settingsController {settingsController}, filesystem {filesystem}, screens {app, 0, CreateScreenList(), Screens::ScreenListModes::UpDown} { diff --git a/src/displayapp/screens/settings/SettingWatchFace.h b/src/displayapp/screens/settings/SettingWatchFace.h index 7b8cdcdc..45a50e3d 100644 --- a/src/displayapp/screens/settings/SettingWatchFace.h +++ b/src/displayapp/screens/settings/SettingWatchFace.h @@ -25,6 +25,7 @@ namespace Pinetime { bool OnTouchEvent(TouchEvents event) override; private: + DisplayApp* app; auto CreateScreenList() const; std::unique_ptr<Screen> CreateScreen(unsigned int screenNum) const; diff --git a/src/displayapp/screens/settings/Settings.cpp b/src/displayapp/screens/settings/Settings.cpp index ffa01d18..065417fa 100644 --- a/src/displayapp/screens/settings/Settings.cpp +++ b/src/displayapp/screens/settings/Settings.cpp @@ -19,7 +19,7 @@ auto Settings::CreateScreenList() const { } Settings::Settings(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::Settings& settingsController) - : Screen(app), + : app {app}, settingsController {settingsController}, screens {app, settingsController.GetSettingsMenu(), CreateScreenList(), Screens::ScreenListModes::UpDown} { } diff --git a/src/displayapp/screens/settings/Settings.h b/src/displayapp/screens/settings/Settings.h index b88c13b7..3f809753 100644 --- a/src/displayapp/screens/settings/Settings.h +++ b/src/displayapp/screens/settings/Settings.h @@ -20,6 +20,7 @@ namespace Pinetime { bool OnTouchEvent(Pinetime::Applications::TouchEvents event) override; private: + DisplayApp* app; auto CreateScreenList() const; std::unique_ptr<Screen> CreateScreen(unsigned int screenNum) const; |
