Skip to content

Commit d5103f2

Browse files
committed
Refactor to fix some edge cases where click was not working
1 parent b78b922 commit d5103f2

7 files changed

Lines changed: 18 additions & 16 deletions

File tree

‎src/displayapp/DisplayApp.cpp‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -652,10 +652,10 @@ void DisplayApp::LoadScreen(Apps app, DisplayApp::FullRefreshDirections directio
652652
currentScreen = std::make_unique<Screens::FlashLight>(*systemTask, brightnessController);
653653
break;
654654
case Apps::Weather:
655-
currentScreen = std::make_unique<Screens::Weather>(this, settingsController, *controllers.weatherController);
655+
currentScreen = std::make_unique<Screens::Weather>(settingsController, *controllers.weatherController);
656656
break;
657657
case Apps::Steps:
658-
currentScreen = std::make_unique<Screens::Steps>(this, motionController, settingsController);
658+
currentScreen = std::make_unique<Screens::Steps>(motionController, settingsController);
659659
break;
660660
default: {
661661
const auto* d = std::ranges::find_if(userApps, [app](const AppDescription& appDescription) {

‎src/displayapp/screens/Steps.cpp‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ static void lap_event_handler(lv_obj_t* obj, lv_event_t event) {
1616
steps->lapBtnEventHandler(event);
1717
}
1818

19-
Steps::Steps(DisplayApp* app, Controllers::MotionController& motionController, Controllers::Settings& settingsController)
20-
: app {app}, motionController {motionController}, settingsController {settingsController} {
19+
Steps::Steps(Controllers::MotionController& motionController, Controllers::Settings& settingsController)
20+
: motionController {motionController}, settingsController {settingsController} {
2121

2222
stepsArc = lv_arc_create(lv_scr_act(), nullptr);
2323

‎src/displayapp/screens/Steps.h‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,13 @@ namespace Pinetime {
1919

2020
class Steps : public Screen {
2121
public:
22-
Steps(DisplayApp* app, Controllers::MotionController& motionController, Controllers::Settings& settingsController);
22+
Steps(Controllers::MotionController& motionController, Controllers::Settings& settingsController);
2323
~Steps() override;
2424

2525
void Refresh() override;
2626
void lapBtnEventHandler(lv_event_t event);
2727

2828
private:
29-
DisplayApp* app;
3029
Controllers::MotionController& motionController;
3130
Controllers::Settings& settingsController;
3231

@@ -51,7 +50,7 @@ namespace Pinetime {
5150
static constexpr const char* icon = Screens::Symbols::shoe;
5251

5352
static Screens::Screen* Create(AppControllers& controllers) {
54-
return new Screens::Steps(controllers.displayApp, controllers.motionController, controllers.settingsController);
53+
return new Screens::Steps(controllers.motionController, controllers.settingsController);
5554
};
5655

5756
static bool IsAvailable(Pinetime::Controllers::FS& /*filesystem*/) {

‎src/displayapp/screens/WatchFaceDigital.cpp‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ namespace {
2323
}
2424
}
2525

26-
WatchFaceDigital::WatchFaceDigital(Controllers::DateTime& dateTimeController,
26+
WatchFaceDigital::WatchFaceDigital(DisplayApp* app,
27+
Controllers::DateTime& dateTimeController,
2728
const Controllers::Battery& batteryController,
2829
const Controllers::Ble& bleController,
2930
const Controllers::AlarmController& alarmController,
@@ -32,7 +33,8 @@ WatchFaceDigital::WatchFaceDigital(Controllers::DateTime& dateTimeController,
3233
Controllers::HeartRateController& heartRateController,
3334
Controllers::MotionController& motionController,
3435
Controllers::SimpleWeatherService& weatherService)
35-
: currentDateTime {{}},
36+
: app {app},
37+
currentDateTime {{}},
3638
dateTimeController {dateTimeController},
3739
notificationManager {notificationManager},
3840
settingsController {settingsController},

‎src/displayapp/screens/WatchFaceDigital.h‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ namespace Pinetime {
2828

2929
class WatchFaceDigital : public Screen {
3030
public:
31-
WatchFaceDigital(Controllers::DateTime& dateTimeController,
31+
WatchFaceDigital(DisplayApp* app,
32+
Controllers::DateTime& dateTimeController,
3233
const Controllers::Battery& batteryController,
3334
const Controllers::Ble& bleController,
3435
const Controllers::AlarmController& alarmController,
@@ -86,7 +87,8 @@ namespace Pinetime {
8687
static constexpr const char* name = "Digital";
8788

8889
static Screens::Screen* Create(AppControllers& controllers) {
89-
return new Screens::WatchFaceDigital(controllers.dateTimeController,
90+
return new Screens::WatchFaceDigital(controllers.displayApp,
91+
controllers.dateTimeController,
9092
controllers.batteryController,
9193
controllers.bleController,
9294
controllers.alarmController,

‎src/displayapp/screens/Weather.cpp‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ namespace {
2424
}
2525
}
2626

27-
Weather::Weather(DisplayApp* app, Controllers::Settings& settingsController, Controllers::SimpleWeatherService& weatherService)
28-
: app {app}, settingsController {settingsController}, weatherService {weatherService} {
27+
Weather::Weather(Controllers::Settings& settingsController, Controllers::SimpleWeatherService& weatherService)
28+
: settingsController {settingsController}, weatherService {weatherService} {
2929

3030
temperature = lv_label_create(lv_scr_act(), nullptr);
3131
lv_obj_set_style_local_text_color(temperature, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_WHITE);

‎src/displayapp/screens/Weather.h‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,12 @@ namespace Pinetime {
2020

2121
class Weather : public Screen {
2222
public:
23-
Weather(DisplayApp* app, Controllers::Settings& settingsController, Controllers::SimpleWeatherService& weatherService);
23+
Weather(Controllers::Settings& settingsController, Controllers::SimpleWeatherService& weatherService);
2424
~Weather() override;
2525

2626
void Refresh() override;
2727

2828
private:
29-
DisplayApp* app;
3029
Controllers::Settings& settingsController;
3130
Controllers::SimpleWeatherService& weatherService;
3231

@@ -50,7 +49,7 @@ namespace Pinetime {
5049
static constexpr const char* icon = Screens::Symbols::cloudSunRain;
5150

5251
static Screens::Screen* Create(AppControllers& controllers) {
53-
return new Screens::Weather(controllers.displayApp, controllers.settingsController, *controllers.weatherController);
52+
return new Screens::Weather(controllers.settingsController, *controllers.weatherController);
5453
};
5554

5655
static bool IsAvailable(Pinetime::Controllers::FS& /*filesystem*/) {

0 commit comments

Comments
 (0)