11#include " DisplayApp.h"
22#include < libraries/log/nrf_log.h>
33#include < displayapp/screens/HeartRate.h>
4+ #include < displayapp/screens/Motion.h>
45#include " components/battery/BatteryController.h"
56#include " components/ble/BleController.h"
67#include " components/datetime/DateTimeController.h"
78#include " components/ble/NotificationManager.h"
9+ #include " components/motion/MotionController.h"
810#include " displayapp/screens/ApplicationList.h"
911#include " displayapp/screens/Brightness.h"
1012#include " displayapp/screens/Clock.h"
@@ -43,7 +45,8 @@ DisplayApp::DisplayApp(Drivers::St7789 &lcd, Components::LittleVgl &lvgl, Driver
4345 System::SystemTask &systemTask,
4446 Pinetime::Controllers::NotificationManager& notificationManager,
4547 Pinetime::Controllers::HeartRateController& heartRateController,
46- Controllers::Settings &settingsController) :
48+ Controllers::Settings &settingsController,
49+ Pinetime::Controllers::MotionController& motionController) :
4750 lcd{lcd},
4851 lvgl{lvgl},
4952 touchPanel{touchPanel},
@@ -54,7 +57,8 @@ DisplayApp::DisplayApp(Drivers::St7789 &lcd, Components::LittleVgl &lvgl, Driver
5457 systemTask{systemTask},
5558 notificationManager{notificationManager},
5659 heartRateController{heartRateController},
57- settingsController{settingsController} {
60+ settingsController{settingsController},
61+ motionController{motionController} {
5862 msgQueue = xQueueCreate (queueSize, itemSize);
5963 // Start clock when smartwatch boots
6064 LoadApp ( Apps::Clock, DisplayApp::FullRefreshDirections::None );
@@ -174,7 +178,7 @@ void DisplayApp::Refresh() {
174178 break ;
175179 case Messages::UpdateDateTime:
176180 // Added to remove warning
177- // What should happen here?
181+ // What should happen here?
178182 break ;
179183 }
180184 }
@@ -220,7 +224,7 @@ void DisplayApp::LoadApp(Apps app, DisplayApp::FullRefreshDirections direction)
220224 break ;
221225 case Apps::None:
222226 case Apps::Clock:
223- currentScreen = std::make_unique<Screens::Clock>(this , dateTimeController, batteryController, bleController, notificationManager, settingsController, heartRateController);
227+ currentScreen = std::make_unique<Screens::Clock>(this , dateTimeController, batteryController, bleController, notificationManager, settingsController, heartRateController, motionController);
224228 break ;
225229
226230 case Apps::FirmwareValidation:
@@ -232,7 +236,7 @@ void DisplayApp::LoadApp(Apps app, DisplayApp::FullRefreshDirections direction)
232236 break ;
233237
234238 case Apps::Notifications:
235- currentScreen = std::make_unique<Screens::Notifications>(this , notificationManager, systemTask.nimble ().alertService (), Screens::Notifications::Modes::Normal);
239+ currentScreen = std::make_unique<Screens::Notifications>(this , notificationManager, systemTask.nimble ().alertService (), Screens::Notifications::Modes::Normal);
236240 returnApp (Apps::Clock, FullRefreshDirections::Up, TouchEvents::SwipeUp);
237241 break ;
238242 case Apps::NotificationsPreview:
@@ -245,61 +249,65 @@ void DisplayApp::LoadApp(Apps app, DisplayApp::FullRefreshDirections direction)
245249 currentScreen = std::make_unique<Screens::QuickSettings>(this , batteryController, dateTimeController, brightnessController, settingsController);
246250 returnApp (Apps::Clock, FullRefreshDirections::LeftAnim, TouchEvents::SwipeLeft);
247251 break ;
248- case Apps::Settings:
252+ case Apps::Settings:
249253 currentScreen = std::make_unique<Screens::Settings>(this , settingsController);
250254 returnApp (Apps::QuickSettings, FullRefreshDirections::Down, TouchEvents::SwipeDown);
251255 break ;
252- case Apps::SettingWatchFace:
256+ case Apps::SettingWatchFace:
253257 currentScreen = std::make_unique<Screens::SettingWatchFace>(this , settingsController);
254258 returnApp (Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown);
255259 break ;
256- case Apps::SettingTimeFormat:
260+ case Apps::SettingTimeFormat:
257261 currentScreen = std::make_unique<Screens::SettingTimeFormat>(this , settingsController);
258262 returnApp (Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown);
259263 break ;
260- case Apps::SettingWakeUp:
264+ case Apps::SettingWakeUp:
261265 currentScreen = std::make_unique<Screens::SettingWakeUp>(this , settingsController);
262266 returnApp (Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown);
263267 break ;
264- case Apps::SettingDisplay:
268+ case Apps::SettingDisplay:
265269 currentScreen = std::make_unique<Screens::SettingDisplay>(this , settingsController);
266270 returnApp (Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown);
267271 break ;
268272 case Apps::BatteryInfo:
269273 currentScreen = std::make_unique<Screens::BatteryInfo>(this , batteryController);
270- returnApp (Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown);
274+ returnApp (Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown);
271275 break ;
272276 case Apps::SysInfo:
273277 currentScreen = std::make_unique<Screens::SystemInfo>(this , dateTimeController, batteryController, brightnessController, bleController, watchdog);
274278 returnApp (Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown);
275279 break ;
276280 //
277-
278- case Apps::FlashLight:
281+
282+ case Apps::FlashLight:
279283 currentScreen = std::make_unique<Screens::FlashLight>(this , systemTask, brightnessController);
280284 returnApp (Apps::Clock, FullRefreshDirections::Down, TouchEvents::None);
281285 break ;
282286 case Apps::StopWatch:
283287 currentScreen = std::make_unique<Screens::StopWatch>(this );
284288 break ;
285289 case Apps::Twos:
286- currentScreen = std::make_unique<Screens::Twos>(this );
290+ currentScreen = std::make_unique<Screens::Twos>(this );
287291 break ;
288292 case Apps::Paint:
289- currentScreen = std::make_unique<Screens::InfiniPaint>(this , lvgl);
293+ currentScreen = std::make_unique<Screens::InfiniPaint>(this , lvgl);
290294 break ;
291295 case Apps::Paddle:
292- currentScreen = std::make_unique<Screens::Paddle>(this , lvgl);
296+ currentScreen = std::make_unique<Screens::Paddle>(this , lvgl);
293297 break ;
294298 case Apps::Music:
295- currentScreen = std::make_unique<Screens::Music>(this , systemTask.nimble ().music ());
299+ currentScreen = std::make_unique<Screens::Music>(this , systemTask.nimble ().music ());
296300 break ;
297301 case Apps::Navigation:
298- currentScreen = std::make_unique<Screens::Navigation>(this , systemTask.nimble ().navigation ());
302+ currentScreen = std::make_unique<Screens::Navigation>(this , systemTask.nimble ().navigation ());
299303 break ;
300304 case Apps::HeartRate:
301- currentScreen = std::make_unique<Screens::HeartRate>(this , heartRateController, systemTask);
305+ currentScreen = std::make_unique<Screens::HeartRate>(this , heartRateController, systemTask);
302306 break ;
307+ case Apps::Motion:
308+ currentScreen = std::make_unique<Screens::Motion>(this , motionController);
309+ break ;
310+
303311 }
304312 currentApp = app;
305313}
0 commit comments