summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFlorian <florian@florian-thinkpad.local>2021-06-11 01:15:32 +0200
committerFlorian <florian@florian-thinkpad.local>2021-06-11 01:15:32 +0200
commit049174bd3535d980a2744cbf035e1e33d33b5e39 (patch)
treeab2e485cddc2212f5500293978ac62fb891b49f3 /src
parent79f0fcb07aa80eb70385223272e29f2ba5657bc8 (diff)
replace ScreenList with a single screen in Clock. This removes the tap to switch feature
Diffstat (limited to 'src')
-rw-r--r--src/displayapp/screens/Clock.cpp39
-rw-r--r--src/displayapp/screens/Clock.h4
2 files changed, 23 insertions, 20 deletions
diff --git a/src/displayapp/screens/Clock.cpp b/src/displayapp/screens/Clock.cpp
index 14299840..9962a9f4 100644
--- a/src/displayapp/screens/Clock.cpp
+++ b/src/displayapp/screens/Clock.cpp
@@ -32,22 +32,25 @@ Clock::Clock(DisplayApp* app,
notificatioManager {notificatioManager},
settingsController {settingsController},
heartRateController {heartRateController},
- motionController {motionController},
- screens {app,
- settingsController.GetClockFace(),
- {
- [this]() -> std::unique_ptr<Screen> {
- return WatchFaceDigitalScreen();
- },
- [this]() -> std::unique_ptr<Screen> {
- return WatchFaceAnalogScreen();
- },
- // Examples for more watch faces
- //[this]() -> std::unique_ptr<Screen> { return WatchFaceMinimalScreen(); },
- //[this]() -> std::unique_ptr<Screen> { return WatchFaceCustomScreen(); }
- },
- Screens::ScreenListModes::LongPress} {
-
+ motionController {motionController} {
+
+ switch (settingsController.GetClockFace()) {
+ case 0:
+ screen = WatchFaceDigitalScreen();
+ break;
+ case 1:
+ screen = WatchFaceAnalogScreen();
+ break;
+ /*
+ // Examples for more watch faces
+ case 2:
+ screen = WatchFaceMinimalScreen();
+ break;
+ case 3:
+ screen = WatchFaceCustomScreen();
+ break;
+ */
+ }
settingsController.SetAppMenu(0);
}
@@ -56,12 +59,12 @@ Clock::~Clock() {
}
bool Clock::Refresh() {
- screens.Refresh();
+ screen->Refresh();
return running;
}
bool Clock::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
- return screens.OnTouchEvent(event);
+ return screen->OnTouchEvent(event);
}
std::unique_ptr<Screen> Clock::WatchFaceDigitalScreen() {
diff --git a/src/displayapp/screens/Clock.h b/src/displayapp/screens/Clock.h
index 9879985f..174c73b7 100644
--- a/src/displayapp/screens/Clock.h
+++ b/src/displayapp/screens/Clock.h
@@ -4,8 +4,8 @@
#include <chrono>
#include <cstdint>
#include <memory>
+#include <components/heartrate/HeartRateController.h>
#include "Screen.h"
-#include "ScreenList.h"
#include "components/datetime/DateTimeController.h"
namespace Pinetime {
@@ -47,7 +47,7 @@ namespace Pinetime {
Controllers::HeartRateController& heartRateController;
Controllers::MotionController& motionController;
- ScreenList<2> screens;
+ std::unique_ptr<Screen> screen;
std::unique_ptr<Screen> WatchFaceDigitalScreen();
std::unique_ptr<Screen> WatchFaceAnalogScreen();